How to remove/replace NaN from multiple variables in workspace?
Mostrar comentarios más antiguos
I have a number of variables in workspace: A = [NaN; NaN; NaN; 1; 2; 3..]; B = [NaN; NaN; NaN; NaN; 4; 27; 31..]; C = [NaN; NaN; 10; 21; 34..]; et cetra and I need to replace NaNs from double with a 0.
4 comentarios
OCDER
el 10 de Oct. de 2018
How are you generating A =, B = , C = ?
If these are in one matrix or cell array, then you could use fillmissing
or a combination of isnan logical index and replacement.
If you have a lot of unique variables, then you're out of luck and need to rework your code to avoid creating so many variable names.
harshpurohit11
el 10 de Oct. de 2018
madhan ravi
el 11 de Oct. de 2018
See my answer below.
Stephen23
el 11 de Oct. de 2018
"I have a number of variables in workspace: A... B... C ... et cetra and I need to replace NaNs from double with a 0."
Then you should redesign your code. Magically accessing variable names is one way that beginners force themselves into writing slow, complex, buggy code that is hard to debug. Read this to know more:
<https://www.mathworks.com/matlabcentral/answers/304528-tutorial-why-variables-should-not-be-named-dynamically-eval
Respuestas (1)
madhan ravi
el 10 de Oct. de 2018
Editada: madhan ravi
el 10 de Oct. de 2018
An example:
>> A = [NaN; NaN; NaN; 1; 2; 3]
A(isnan(A))=0
A =
NaN
NaN
NaN
1
2
3
A =
0
0
0
1
2
3
>>
Categorías
Más información sobre Logical en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!