www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Matlab" - Matlab
Matlab < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Matlab: Tipp
Status: (Frage) beantwortet Status 
Datum: 15:34 Do 12.11.2009
Autor: uecki

Hallo :-)

Ich habe hier folgendes programmiert:
clc; clear all, close all;
x=randn(100000,1); %normalverteilte Zufallszahlen erzeugung
y=randn(100000,1);
z=x+y;
w=-5:0.1:5; %Intervall für die Zeichnung(en)
hist(x,w);
hist(y,w);
hist(z,w);

So, und jetzt möchte ich alle drei hist-Zeichnungen in eine "Oberfläche" packen.
Ich dachte schon mit subplot(hist(x,w),hist(y,w),hist(z,w))...aber geht leider nicht.
Hat jemand ne Idee?
Danke schon mal!

LG

        
Bezug
Matlab: Antwort
Status: (Antwort) fertig Status 
Datum: 16:17 Do 12.11.2009
Autor: Frasier

Hallo uecki,

du benutzt subplot einfach nur falsch.
clc; clear all, close all;
x=randn(100000,1); %normalverteilte Zufallszahlen erzeugung
y=randn(100000,1);
z=x+y;
w=-5:0.1:5; %Intervall für die Zeichnung(en)
subplot(3,1,1);
hist(x,w);
subplot(3,1,2);
hist(y,w);
subplot(3,1,3);
hist(z,w);

lg
F.

Bezug
                
Bezug
Matlab: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 10:11 Mo 16.11.2009
Autor: uecki

Hallo,

vielen Dank, das hat funktioniert.
Jetzt habe ich noch eine andere Frage.
Ich möchte von einem Histogramm eine Teilfläche anders färben.
Ungefähr so: hist(a,w); find(a<b) und die a<b sollen dann in einer anderen Farbe im gleichen Histogramm eingefärbt werden.
Kann mir da jemand helfen?
Danke schon mal!
LG

Bezug
                        
Bezug
Matlab: Antwort
Status: (Antwort) fertig Status 
Datum: 11:12 Mo 16.11.2009
Autor: Frasier

Hallo uecki,
direkt mit hist ist mir keine Möglichkeit bekannt.
Aber du kannst die Daten für das Histogramm mit hist berechnen und dann mit bar darstellen lassen.
Dann hast du etwas mehr Möglichkeiten.
x=randn(100000,1); %normalverteilte Zufallszahlen erzeugung
w=-5:0.1:5; %Intervall für die Zeichnung(en)
[n,xout]=hist(x,w);
thresh=2500;
ind1=n<thresh;
ind2=n>=thresh;
hold;
bar(xout(ind1),n(ind1),'FaceColor','r');
bar(xout(ind2),n(ind2),'FaceColor','b');
hold off;

lg
F.

Bezug
                                
Bezug
Matlab: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 12:02 Mo 16.11.2009
Autor: uecki

Hab ich gemacht. Das sieht jetzt so aus:
clc;clear all;close all;

%%Eingabe
MW=0.5;
OT = 1;
UT = -1;

%%Berechnungen und Zeichnungen

w=-5:0.1:5;                      %Intervall für die Zeichnung
x= randn(1000000,1) +MW;         %Normalverteilte Zufallszahlen
[n,xout]=hist(x,w);              %Histogramm
ind1=n<=UT;
ind2=n>=OT;
hold;
bar(n(ind1),xout(ind1),'FaceColor','r');
bar(n(ind2),xout(ind2),'FaceColor','r');
hold on;
plot([MW,MW],[0,50000],'r')     %Mittelwert für Zeichnung
hold on
plot([OT,OT],[0,50000],'g')     %OT für Zeichnung
hold on
plot([UT,UT],[0,50000],'g')     %UT für Zeichnung
hold on

Es kommt garnichts, wenn ich es durchlaufen lasse....
Bei: bar(n(ind1),xout(ind1),'FaceColor','r');
bar(n(ind2),xout(ind2),'FaceColor','r'); war ich mir nicht sicher, ob ich das umtauschen muss oder nicht, also die beiden n(ind1) und xout(ind1). Aber egal wie rum ich es mache, es geht nicht.
Was habe ich falsch?
Danke!!!
LG

Bezug
                                        
Bezug
Matlab: Antwort
Status: (Antwort) fertig Status 
Datum: 21:28 Di 17.11.2009
Autor: Frasier

Hallo uecki,
ich weiß zwar nicht, was du da machst, aber du hast beim Aufruf der bar-Funktion n und xout vertauscht. Und offenbar auch bei der Abfrage von UT und OT.
clc;clear all;close all;
%%Eingabe
MW=0.5;
OT = 1;
UT = -1;
%%Berechnungen und Zeichnungen
w=-5:0.1:5;                      %Intervall für die Zeichnung
x= randn(1000000,1) +MW;         %Normalverteilte Zufallszahlen
[n,xout]=hist(x,w);              %Histogramm
ind1=xout<=UT;
ind2=xout>=OT;
hold;
bar(xout(ind1),n(ind1),'FaceColor','b');
bar(xout(ind2),n(ind2),'FaceColor','r');
plot([MW,MW],[0,50000],'r')     %Mittelwert für Zeichnung
plot([OT,OT],[0,50000],'g')     %OT für Zeichnung
plot([UT,UT],[0,50000],'g')     %UT für Zeichnung
hold off;
lg
F.

Bezug
                                                
Bezug
Matlab: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 11:57 Mi 18.11.2009
Autor: uecki

Ja, ich weiß das ich die vertauscht hatte, hatte ich doch auch geschrieben. Aber es ging ja egal wie rum nicht...Aber die Aufgabe hat sich jetzt erledigt.
Vielen Dank für die Hilfe aufjedenfall!

Bezug
                                                        
Bezug
Matlab: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 13:51 Mi 18.11.2009
Autor: Frasier

Hallo,
das lag wohl daran, dass du ind1 und ind2 mit n kleiner/größer geprüft hast und nicht mit xout.
Dann war ind1 ein logischer Vektor voller Nullen und es gab bei der Indizierung einen Fehler.
lg
F.

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]