|
|
| Fabian1234 |

Forum-Anfänger
|
 |
Beiträge: 36
|
 |
|
 |
Anmeldedatum: 09.11.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 25.03.2010, 16:02
Titel: mean und "NaN"
|
 |
Hallo Zusammen.
Ich sitze an der Auswertung einer Studie und habe ein kleines Problem mit "NaN". Und zwar habe ich eine riesige dreidimensionale Tabelle, z.B.
a(:,:,1) = [1 2 3 4 5 100 5 4 3 2 1],
a(:,:,2) = [1 2 3 4 5 0 5 4 3 2 1],
usw.
in der ich mittels der 3sigma-Regel Extremwerte aussortiere. Ich habe mir ein Proggy gebastelt, das die Extremwerte durch NaN ersetzt, also:
a(:,:,1) = [1 2 3 4 5 NaN 5 4 3 2 1],
a(:,:,2) = [1 2 3 4 5 0 5 4 3 2 1],
Aus der Tabelle möchte ich dann zeilenweise die Mittelwerte ziehen. Leider geht das mit "mean" nicht, da Mean für die Zeile a(1,:, den Wert
"Nan" ausgibt.
Kennt jemand eine funktion, die die Anzahl der NaNs in einer Population aussiebt und aus den verbliebenen Werten das korrekte arithmetische Mittel zieht?
Bin hierbei ein bisschen verzweifelt und freue mich über hilfe.
Grüße
Fabian
|
|
|
|
|
|
| Zenon |

Forum-Guru
|
 |
Beiträge: 292
|
 |
|
 |
Anmeldedatum: 20.01.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 25.03.2010, 16:30
Titel:
|
 |
|
Wie wäre es wenn Du die Extremwerte für diese Berechnung statt NaN zu setzen einfach mit [] aus der Zeile nimmst...also erst die Zeile in nen Vektor schreiben dann die Stelle vom NaN mit [] löschen und den Mittelwert berechnen...natürlich wird dann bei der Mittelwertbildung auf Anzahl-1 zugrundegelegt...
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 25.03.2010, 19:00
Titel:
|
 |
Hallo,
in der Statistics Toolbox gibt es die Funktion nanmean.
zenon: das Problem beim Setzen auf [] ist, dass eine komplette Zeile/Spalte gelöscht werden müsste.
Wenn man über nanmean geht, ist das nicht der Fall.
Grüße,
Harald
|
|
|
|
| Sue |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 16.11.2011, 13:45
Titel: NaN finden
|
 |
ich hätte da auch eine Frage zu NaN und hoffe, dass ich sie heir an der richtigen Stelle stelle
ich würdegerne mit einer Matrix arbeiten, die einige NaN enthält. Ich möchte gerne wissen wieviel (bzw. wieviel% - falls das geht) und dan gehts weiter.
Bisher habe ich folgendes gemacht:
Jetzt möchte ich gerne wissen wie lang sind die Spalten ohne NaN (also wievviele Werte habe ich jeweils).
Und dann würde ich gerne noch ein if einbauen: Bei mehr als 60% NaN pro Spalte mach.... oder...
Wäre toll, wenn mir jemand helfen kann. Ich probiere natürlich auch selber weiter.
Danke
|
|
|
|
| soad |

Forum-Century
|
 |
Beiträge: 150
|
 |
|
 |
Anmeldedatum: 10.11.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 16.11.2011, 15:13
Titel:
|
 |
Mit
erhältst du die Anzahl der NaN-Elemente.
Jetzt kannst du durch die Gesamtanzahl der Matrix bzw. durch die Spaltenlänge dividieren (ist für die gesamte Matrix gleich), um die Anteile an NaN-Elementen zu erhalten. Hier wird dir der SIZE-Befehl helfen, siehe:
|
|
|
|
|
|
|
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.
|
|