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

Ausreißer einer Standardabweichung nicht Plotten

 

ScorpionM
Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 19.07.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.07.2011, 10:48     Titel: Ausreißer einer Standardabweichung nicht Plotten
  Antworten mit Zitat      
Hallo.

ich habe folgendes Problem:
Ich habe die Standardabweichung mit Matlab berechnet und geplottet. Beim plotten kann man sehen das Werte gibt die außerhalb des Grenzen bereichen(mean(x)-std(x) und mean(x) + std(x)) des Standardaweichungen sind.

Wie kann ich diese Werten unterdrücken bzw. nicht in mein Plot anzeigen?
Ich hoffe dass man meine Erklärung verstehen kann!!

MFG
ScorpionM
Private Nachricht senden Benutzer-Profile anzeigen


Phate
Forum-Guru

Forum-Guru



Beiträge: 283
Anmeldedatum: 09.11.09
Wohnort: Stuttgart
Version: R2008b
     Beitrag Verfasst am: 26.07.2011, 11:03     Titel:
  Antworten mit Zitat      
Hi,

Indem du zum Beispiel mit dem Befehl
Code:
deinen Datenvektor nach allen Werten die Größer bzw. Kleiner als dein Bereich ist durchsuchst und die Werte löscht.

Quick and dirty müsste das so aussehen:
Code:
high = find(x > mean(x)+std(x));
low = find(x < mean(x)-std(x));
x(high,low) = [];


Hab grad kein Matlab also nicht getestet, prinzipiell müsste das so gehn. Wenns schneller gehn soll machst das über logische Indizierung.

Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
ScorpionM
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 19.07.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.07.2011, 13:19     Titel:
  Antworten mit Zitat      
Danke !! Es klappt aber ich habe ein Problem beim Plotten!!
weil mein x nicht mehr die selbe länge hat.
Error using==>plot
Vectors must be the same lenghts

Code:
% Das ist mein Programm
A = [123456789];
 x3 =A;
i  = 1:length(x3);
xMean = mean(x3);
xStd  = std(x3);

%Einfache Grenzen
lower(i) = xMean-xStd;
upper(i) = xMean+xStd;

% Verdoppelte Grenzen
lower2(i) = xMean-(2*xStd);
upper2(i) = xMean+(2*xStd);

% Aureißer entfernen
 lower_O = find(x3<lower2);
 upper_O = find(x3>upper2);
 x3(lower_O) = [];
 x3(upper_O) = [];

 disp(x3)
%Plots
figure(3)
plot (x3,'*b',i,lower,'k--',i,upper,'k--',i,lower2,'r-',i,upper2,'r-');
 

VG
[/code]
Private Nachricht senden Benutzer-Profile anzeigen
 
monica
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 52
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.07.2011, 14:07     Titel:
  Antworten mit Zitat      
Hi,
du musst natürlich dann auch die Werte aus dem x verktor and den entsprechenden Stellen löschen, die indices hast du ja durch "find".
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.