Verfasst am: 25.08.2009, 09:56
Titel: NaN's in einem Cell Array ersetzen
Hallo zusammen,
ich hoffe Ihr könnt mir bei folgendem Problem weiterhelfen:
Ich habe ein 50x1 Cell Array, in dem in jeder Zelle eine 10x10 Matrix (double) mit Daten steckt. In den Daten befinden sich teilweise auch NaN's (Not a Number).
Ich möchte nun die NaN's in den einzelnen Datenmatrizen nicht wie sonst üblich mit einer Null ersetzen sondern mit dem vorherigen Wert. Um das ganze evtl. etwas genauer zu beschreiben:
Wenn man davon ausgeht, dass A mein 50x1 Cell Array ist und Daten1=A{1,1} (also die Daten für die erste Zeile) eine 10x10 Matrix mit Doubles. Wenn nun bspw. in Daten1(14,1) ein NaN steht, dann möchte ich Daten1(14,1) mit Daten1(13,1) ersetzen. Das zusätzliche Problem ist allerdings, dass NaN nur dann durch den Vorwert ersetzt werden soll, wenn alle übrigen Spalten (hier 2-10) in der gleichen Zeile (hier 14) kein NaN aufweisen.
Musst du nur noch einfügen was du machst wenn das erste Element ein Nan ist.
Viele Grüße,
der Oli
Bine85
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 25.08.2009, 13:23
Titel:
Hallo Oli,
vielen, vielen Dank für Deine schnelle Antwort!
Ich habe Deine Schleife jetzt mal durchlaufen lassen und es ist genau so wie bei meinen Versuchen: Matlab überschreibt mir die NaN's nicht mit anderen Werten! Wenn ich's "händisch" anweise dann werden die Werte überschrieben, sobald ich das ganze aber in eine Schleife packe funktionert's nicht.
Hi, also bei mir klappt der Code so wie es oben steht. An der Stelle C{1}(3,2) sollte der Wert von C{1}(3,1) stehen. Die anderen nans bleiben weil: - in der zweiten Zeile mehrere nans stehen. - der erste Wert ganz vorn steht und ich nicht weiß was in diesem Fall gemacht werden soll, deswegen die Schleife.
Viele Grüße,
der Oli
Bine85
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 25.08.2009, 15:02
Titel:
Jetzt hab's auch ich kapiert
Vielen, vielen Dank!
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
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.