|
|
Automatisch bestimmte Zeilen einer Matrix löschen? |
|
mbone5 |

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 05.05.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.05.2008, 21:46
Titel: Automatisch bestimmte Zeilen einer Matrix löschen?
|
 |
Vielleicht kann mir hier geholfen werden?
Ich habe einen Datensatz der die Form einer 100x4 Matrix hat.
Da der Datensatz leider nicht komplett ist wurden fehlende Daten mit NaN ersetzt. Ich würde jetzt gern alle Zeilen in denen so ein NaN vorkommt automatisch löschen lassen, sodass ich danach eine Matrix nur mit richtigen Werten habe (ohne NaN)?
Vielen Dank schon mal für eure Hilfe,
Gruß mbone
|
|
|
|
|
nschlange |

Ehrenmitglied
|
 |
Beiträge: 1.320
|
 |
|
 |
Anmeldedatum: 06.09.07
|
 |
|
 |
Wohnort: NRW
|
 |
|
 |
Version: R2007b
|
 |
|
|
 |
|
Verfasst am: 05.05.2008, 22:18
Titel:
|
 |
Hi,
dazu hatte ich schon irgendwo mal ein Beispiel gepostet.
_________________
Viele Grüße
nschlange
"Chuck Norris ejakuliert fluessigen Stahl!"
|
|
|
mbone5 |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 05.05.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.05.2008, 23:13
Titel:
|
 |
Erst einmal vielen Dank für die schnelle Antwort,
aber wenn ich das mache werden komischerweise nur die ersten vier Zeilen meiner 100x4 Matrix gelöscht und ich erhalte eine 96x4 Matrix und habe immernoch einige Zeilen in denen das NaN mindestens einmal vorkommt.
Daten(any(isnan(Daten)), = []; (so habe ich es eingegeben)
"Daten" ist meine 100x4 Matrix!
|
|
|
nschlange |

Ehrenmitglied
|
 |
Beiträge: 1.320
|
 |
|
 |
Anmeldedatum: 06.09.07
|
 |
|
 |
Wohnort: NRW
|
 |
|
 |
Version: R2007b
|
 |
|
|
 |
|
Verfasst am: 05.05.2008, 23:22
Titel:
|
 |
Ich hätte mir mein Beispiel besser nochmal angeguckt.
Es muss heißen
Erklärung
_________________
Viele Grüße
nschlange
"Chuck Norris ejakuliert fluessigen Stahl!"
|
|
|
mbone5 |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 05.05.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.05.2008, 23:45
Titel:
|
 |
WOW!!!! Jetzt hat es geklappt!!! Wirklich, tausend Dank!!!!!!!
Viele Grüße
mbone
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.05.2008, 15:12
Titel:
|
 |
Und wenn ich in einer spalte mit format "cell" habe?
isnan funktioniert anscheinend mit "cell" nicht... ( laut Fehlermeldung...)
|
|
|
nschlange |

Ehrenmitglied
|
 |
Beiträge: 1.320
|
 |
|
 |
Anmeldedatum: 06.09.07
|
 |
|
 |
Wohnort: NRW
|
 |
|
 |
Version: R2007b
|
 |
|
|
 |
|
Verfasst am: 14.05.2008, 15:25
Titel:
|
 |
Dann musst Du das wahrscheinlich von Hand mit einer Schleife machen.
_________________
Viele Grüße
nschlange
"Chuck Norris ejakuliert fluessigen Stahl!"
|
|
|
steve |

Ehrenmitglied
|
 |
Beiträge: 2.029
|
 |
|
 |
Anmeldedatum: 03.09.07
|
 |
|
 |
Wohnort: Wien
|
 |
|
 |
Version: R2024a
|
 |
|
|
 |
|
Verfasst am: 14.05.2008, 15:44
Titel:
|
 |
|
|
Jep |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.05.2008, 14:03
Titel:
|
 |
nschlange hat Folgendes geschrieben: |
Dann musst Du das wahrscheinlich von Hand mit einer Schleife machen. |
und wie geht das?
|
|
|
nschlange |

Ehrenmitglied
|
 |
Beiträge: 1.320
|
 |
|
 |
Anmeldedatum: 06.09.07
|
 |
|
 |
Wohnort: NRW
|
 |
|
 |
Version: R2007b
|
 |
|
|
 |
|
Verfasst am: 18.05.2008, 15:11
Titel:
|
 |
Ich kann bis jetzt drei Ideen anbieten, NaN's aus einer cell zu löschen.
Wer hat andere Vorschläge?
_________________
Viele Grüße
nschlange
"Chuck Norris ejakuliert fluessigen Stahl!"
|
|
|
steve |

Ehrenmitglied
|
 |
Beiträge: 2.029
|
 |
|
 |
Anmeldedatum: 03.09.07
|
 |
|
 |
Wohnort: Wien
|
 |
|
 |
Version: R2024a
|
 |
|
|
 |
|
Verfasst am: 19.05.2008, 08:25
Titel:
|
 |
Moin,
am besten wir machen es so, dass solche Vorschläge in die Skripte/Tutorials-Ecke gepackt werden, damit man zukünftig nur noch drauf verweisen muss, oder?!
Gruß
Alex
_________________
>> I told me to.
____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
|
|
|
mr.kalaschnikow |

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 26.11.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 13.07.2010, 23:34
Titel:
|
 |
Entschuldigt, dass ich diesen alten Thread nochmal hervorhole, aber ich habe in einem ähnlichen Gebiet ein Problem.
Ich möchte die NaN-Felder nicht löschen, sondern interpolieren, indem ich den Durchschnitt des vorangegangen Feldes und des nachfolgenden Feldes bilde. Komme ich da mit der angebotenen Syntax zur Löschung weiter bei meinem Problem? Sprich, kann ich da irgendwie die Felder davor und danach refernzieren?
Danke schonmal für eure Hilfe.
Grüße,
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 14.07.2010, 08:30
Titel:
|
 |
Hallo,
[r, c] = find(isnan(A));
A(r, c) = (A(r+1, c) + A(r-1,c))/2;
Achtung: das macht Probleme, wenn in der ersten oder letzten Zeile NaN steht, weil es drüber bzw. drunter keinen mehr gibt. Außerdem gibt es Probleme bei aufeinanderfolgenden NaN. Da müsste man sich also noch etwas einfallen lassen - z.B. mit interp1 arbeiten.
http://www.mathworks.com/access/hel.....sis/f0-10104.html#f0-8511
Grüße,
Harald
|
|
|
mr.kalaschnikow |

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 26.11.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.07.2010, 17:58
Titel:
|
 |
|
|
|
|
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.
|
|