|
Autor |
NaN-Werte in Matrizen suchen und entfernen bzw. durch Null ersetzen |
|
Markus_Sw
Wenig Aktiv  Dabei seit: 21.03.2015 Mitteilungen: 80
 | Themenstart: 2018-09-26
|
Hallo,
ich habe mehrere Matrizen des types double 120x120.
Jeder der 120 Spalten besitzen 120 reihen mit Messwerte. Jedoch sind die 120 "Reihenmesswerte" nicht immer gefüllt, desöfteren habe ich Spalten Einträge, die beinhalten nur z. B. 100 Messwerte danach (101:120) kommt dann nur "NaN".
Wie kann ich nun die Matrizen kürzen, also alle Einträge mit NaN sollen verschwinden.
Oder anstatt NaN eine Null reinschreiben so dass die Größe erhalten bleibt?
Beide Varianten wären hilfreich.
Danke
|
Profil
|
ligning
Senior  Dabei seit: 07.12.2014 Mitteilungen: 3555
Wohnort: Berlin
 | Beitrag No.1, eingetragen 2018-09-26
|
Die Funktion isnan ergibt 1 (logisch wahr), wenn das Argument NaN ist, sonst 0.
\sourceon Matlab
% Beispiel
% NaN herausschneiden:
A = [-1 NaN 52];
B = A(~isnan(A))
% => [-1 52]
% oder auf 0 setzen:
A(isnan(A)) = 0;
A
% => [-1 0 52]
\sourceoff
Das Herausschneiden wird aber nicht ohne weiteres klappen, wenn das (höherdimensionale) Matrizen sind. Das Nullsetzen funktioniert trotzdem.
|
Profil
|
Markus_Sw
Wenig Aktiv  Dabei seit: 21.03.2015 Mitteilungen: 80
 | Beitrag No.2, vom Themenstarter, eingetragen 2018-09-27
|
Danke hast mir sehr geholfen.
|
Profil
|
Markus_Sw hat die Antworten auf ihre/seine Frage gesehen. Markus_Sw hat selbst das Ok-Häkchen gesetzt. |
|
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2023 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen. Lesen Sie die
Nutzungsbedingungen,
die Distanzierung,
die Datenschutzerklärung und das Impressum.
[Seitenanfang]
|