|
|
Auf Werte nach NaN zugreifen |
|
andi_0815 |

Forum-Anfänger
|
 |
Beiträge: 26
|
 |
|
 |
Anmeldedatum: 01.03.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.05.2010, 18:26
Titel: Auf Werte nach NaN zugreifen
|
 |
Hallo,
ich habe eine Matrix, ungefähr so:
Ich möchte die kummulative Summe jeder Spalte haben, was generell kein Problem ist, aber die Summe soll erst ab der ersten Zeile berechnet werden, in der kein NaN mehr steht.
Also, wie sage ich Matlab "in der ersten Zeile nach dem NaN beginnen"?
Bin für alle Vorschläge offen
Grüßele
|
|
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 06.05.2010, 18:39
Titel:
|
 |
Hallo
ersetze NaN doch durch die Nullen
|
|
|
derOli |

Forum-Meister
|
 |
Beiträge: 579
|
 |
|
 |
Anmeldedatum: 19.03.08
|
 |
|
 |
Wohnort: Leipzig
|
 |
|
 |
Version: 2010a
|
 |
|
|
 |
|
Verfasst am: 06.05.2010, 18:57
Titel:
|
 |
Hi,
reicht der Vorschlag von Denny für dein Problem oder gibt es auch sowas:
Wo dann in der 3. Spalte nur die 9 und die 12 addiert werden sollen und nicht die 2?
Viele Grüße,
der Oli
|
|
|
lilov |

Forum-Century
|
 |
Beiträge: 193
|
 |
|
 |
Anmeldedatum: 05.05.10
|
 |
|
 |
Wohnort: Bremerhaven
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.05.2010, 18:59
Titel:
|
 |
Versuch's damit:
CumSum = cumsum(~isnan(A))
Gruß,
Hristo
|
|
|
andi_0815 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 26
|
 |
|
 |
Anmeldedatum: 01.03.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.05.2010, 08:22
Titel:
|
 |
Hi,
sorry, dass ich jetzt erst antworte...
Das mit den Nullen hab ich schon probiert, aber ich brauche die NaNs nach Umrechnung in die CumSum wieder, drum hätt ichs gern, dass sie drin bleiben. Denn ich habe Messwerte dabei die "0" sind und die will ich nicht NaNen
Es sollten keine NaNs zwischendrin zu finden sein.
Der CumSum = cumsum(~isnan(A)) -Vorschlag funktioniert leider nicht so ganz. Da kommen furchtbar komische Zahlen bei raus...
Grüßele
Andrea
|
|
|
lilov |

Forum-Century
|
 |
Beiträge: 193
|
 |
|
 |
Anmeldedatum: 05.05.10
|
 |
|
 |
Wohnort: Bremerhaven
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.05.2010, 08:59
Titel:
|
 |
oops,
versuch's mit
CumSum = cumsum(A(~isnan(A)));
hab ein A vergessen, sorry:)
Hristo
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 07.05.2010, 09:10
Titel:
|
 |
Hallo
dann muss man die NaN wieder zurückkopieren
|
|
|
andi_0815 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 26
|
 |
|
 |
Anmeldedatum: 01.03.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.05.2010, 09:22
Titel:
|
 |
Danke,
ich probier deine Idee noch aus, habe aber jetzt eine andere Lösung gefunden. Ich geb zu, nicht besonders matlab-mäßig, aber es funktioniert. Ich hab einfach die NaNs ans Ende gepackt und die CumSum gebildet, dann wieder die NaNs an den Anfang der Datei und fertig
Cool, wa?!
|
|
|
Fourier |

Forum-Guru
|
 |
Beiträge: 329
|
 |
|
 |
Anmeldedatum: 05.04.10
|
 |
|
 |
Wohnort: Karlsruhe
|
 |
|
 |
Version: 2009b
|
 |
|
|
 |
|
Verfasst am: 07.05.2010, 09:25
Titel:
|
 |
hallo,
ich hab mal so versucht scheint zu funktionieren:
|
|
|
|
|
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.
|
|