Removing invalid results
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi, I'm having a problem removing part of my output that is invalid. Basically I have a matrix, and certain values within that matrix are implausible, and I want to replace those values with a value that won't affect calculations. So for example my matric might be [1 2 3 4 30], but 30 might be implausible, so I want to replace it with another value that doesn't affect calculations so that, for example, if i were to average the values I would get (1+2+3+4)/4 not divided by 5. Any ideas would be appreciated. Thank you
0 Kommentare
Akzeptierte Antwort
Sean de Wolski
am 12 Jul. 2011
Replace all of your implausible values (whatever criteria you use to determine that) with nan. Then apply your function to the non nan part of your data. There are some built-in nan ops already others would be easy to write.
A = [1 2 3 4 30]
A(A>10) = nan;
idx_care = ~isnan(A);
the_mean = sum(A(idx_care))/sum(idx_care);
0 Kommentare
Weitere Antworten (1)
the cyclist
am 12 Jul. 2011
x = [1 2 3 4 30];
x(x>10) = NaN;
meanx = nanmean(x); % Will ignore NaN
2 Kommentare
Siehe auch
Kategorien
Mehr zu Graphics Objects finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!