WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Bestimmte Bereiche unter Gauss Kurve einfärben

 

Oorim
Forum-Anfänger

Forum-Anfänger


Beiträge: 17
Anmeldedatum: 07.02.09
Wohnort: ---
Version: R2008b
     Beitrag Verfasst am: 30.05.2014, 13:11     Titel: Bestimmte Bereiche unter Gauss Kurve einfärben
  Antworten mit Zitat      
Ahoi

noch eine Frage ... ich möchte bestimmte Bereiche unter einer Gausskurve einfärben. Genauer gesagt die Bereiche
Q1-1.5*IQR
Q3+1.5*IQR
IQR

Mit dem folgenden Code bekomme ich zumindest den ganzen Graphen eingefärbt:
Code:
r=[-3:.1:3];
norm=normpdf(r,0,1);

s1=subplot(2,1,1);
    bp=boxplot(r,'orientation','horizontal');
s2=subplot(2,1,2);
    plot(r,norm);
   
area(r,norm)


Ich stehe nun nur etwas auf dem Schlauch wie ich die Bereiche oben einfärbe. Mein erster Ansatz, die Punkte zu berechnen:
Code:
poi=quantile(r,[.25,.5,.75]);

Code:
poi =

   -1.5250         0    1.5250


Das deckt sich auch mit dem Boxplot. Nur, wie bekomme ich nun die dazugehörigen Y-Werte? Mein Ansatz: Selbst ausrechnen.
Code:
r=[-3:.1:3];
sigma=1;
mu=0;
norm=normpdf(r,mu,sigma);

s1=subplot(2,1,1);
    bp=boxplot(r,'orientation','horizontal');
s2=subplot(2,1,2);
    plot(r,norm);

q=quantile(r,[.25,.5,.75]);

poi(1,1)=1/(sqrt(2*pi*sigma^2))*exp(-((q(1)-1.5*iqr(r))-mu)^2/(2*sigma^2))
poi(1,2)=1/(sqrt(2*pi*sigma^2))*exp(-((q(1))-mu)^2/(2*sigma^2))
poi(2,1)=1/(sqrt(2*pi*sigma^2))*exp(-((q(3)+1.5*iqr(r))-mu)^2/(2*sigma^2))
poi(2,2)=1/(sqrt(2*pi*sigma^2))*exp(-((q(3))-mu)^2/(2*sigma^2))


Code:
3,31788424354731e-09   0,124711646662357
3,31788424354731e-09   0,124711646662357
 


Aber das hilft mir nun auch nicht weiter ... hat jemand einen Tipp?
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 30.05.2014, 13:39     Titel:
  Antworten mit Zitat      
Hallo,

wenn ich das richtig sehe, brauchst du doch nur das hier?

Code:
q=quantile(r,[.25,.75]);
inq = r > q(1) & r < q(2);
hold on
area(r(inq),norm(inq))


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Oorim
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 17
Anmeldedatum: 07.02.09
Wohnort: ---
Version: R2008b
     Beitrag Verfasst am: 30.05.2014, 14:52     Titel:
  Antworten mit Zitat      
Wusste nicht, dass ich über eine logische Operation an die Koordinaten komme ... Allerdings passt das ganze nicht wirklich - siehe screen. Ich vermute, dass das daran liegt, das die Koordinaten gar nicht in r enthalten sind.

Ich habe daraufhin die Auflösung von r vergrößert und siehe da ... es geht - siehe screen1. Jedenfalls bis zu einem gewissen Grad, die Lücke ist immer noch da, nur eben sehr klein.


Für diesen Zweck reicht das aber. Ich muss jetzt noch ordentliche farben ausssuchen und dann passt das - danke Smile

screen1.jpg
 Beschreibung:

Download
 Dateiname:  screen1.jpg
 Dateigröße:  17.84 KB
 Heruntergeladen:  436 mal
screen.jpg
 Beschreibung:

Download
 Dateiname:  screen.jpg
 Dateigröße:  65.25 KB
 Heruntergeladen:  333 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 30.05.2014, 18:18     Titel:
  Antworten mit Zitat      
Hallo,

Alternative: alles in einer Farbe plotten, hold, und dann den Mittelbereich in der anderen Farbe "überplotten".

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Oorim
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 17
Anmeldedatum: 07.02.09
Wohnort: ---
Version: R2008b
     Beitrag Verfasst am: 30.05.2014, 18:21     Titel:
  Antworten mit Zitat      
True .... Rolling Eyes Idea

danke Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.