|
JohnLow |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.12.2009, 13:47
Titel: Histogramm erweitern
|
 |
Hallo liebes Forum,
ich hab zur Zeit ein Problem, dass ich nicht elegant lösen kann. Eine numerische Berechnung einer Differentialgleichung gibt mir einen Vektor x aus. Von diesem möchte ich das Histogramm hist(x) darstellen lassen, bzw stairs. So alles kein Problem.
Da ich die numerische Berechnung aber sehr lange laufen lassen möchte, schimpft Matlab, out of memory oder der Vektor x hat mehr als zugelassene Stellen.
Deswegen wiederhole ich die Simulation, ich hab nun n Simulationen und somit n Vektoren x1, x2 , ... xn und würde gern das Histogramm
hist([x1 x2 .... xn])
darstellen. Allerdings klappt das nicht, ich lösche nach jeder Berechnung j den Vektor xj wieder aus Platzgründen.
Gibt es eine Möglichkeit, eventuell über [n,p]=hist(x) oder ähnliche Befehle, ein Histogramm sozusagen nach und nach zu füllen??
LG
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 04.12.2009, 21:00
Titel:
|
 |
Hallo,
du kannst natürlich für jeden Vektor (oder eine gewisse Anzahl Vektoren) die Aufteilung nach bins ermitteln und diese dann aufsummieren und mit BAR plotten. Wichtig dabei dürfte sein, dass du immer die gleichen bins verwendest. Das kannst du über einen zusätzlichen Eingabevektor sicherstellen.
Grüße,
Harald
|
|
|
JohnLow |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.12.2009, 21:30
Titel:
|
 |
So richtig verstehe ich das nicht, bin kein Matlabprofi.
Ein kleines Beispiel wäre
------------------------------------
N=10^4;
x=zeros(N+1,1);
x(1)=1;
for i=1:N
x(i+1) = x(i)+randn;
end;
hist(x)
------------------------------------
Da N nun sehr hoch sein soll, gibt es Probleme bei zeros(N+1,1).
Wie macht man das mit der Aufteilung nach bins?
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 04.12.2009, 23:26
Titel:
|
 |
Hallo,
hier die Umsetzung deines Beispiels. Die Berechnung der Zufallszahlen über cumsum sollte wesentlich schneller als eine Schleife sein.
Zitat: |
Wie macht man das mit der Aufteilung nach bins? |
Aus dem Beispiel sollte es hervorgehen. Es ist übrigens auch in der Hilfe beschrieben.
Grüße,
Harald
|
|
|
JohnLow |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.12.2009, 13:23
Titel:
|
 |
Hallo,
vielen Dank. Das ist, was ich suchte
LG
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|