How do I replace zeroes in a <logical> 0 and 1 array with NaNs?

23 次查看(过去 30 天)
Hey,
I have a logical array with ones and zeroes and now I would like to replace the zeroes with NaNs but can´t find the right commend.
A(A==0) = nan; NaN's cannot be converted to logicals.
A(~A) = NaN; NaN's cannot be converted to logicals.
Also tried this: A=num2cell(A);
Who can help me out?
Greetings, A matlab hero :) A=num2cell(A);

采纳的回答

Giorgos Papakonstantinou
编辑:Giorgos Papakonstantinou 2014-12-9
It didn't work because you were trying to replace logical values (the zeros/false) with doubles (the NaN). So first, convert the A array to double.
A = double(A);
A(A==0) = NaN; % or A(~A)=NaN
Of course A will not be a logical anymore.

更多回答(1 个)

Tessa
Tessa 2014-12-9
Hero! Thank you :)

类别

Help CenterFile Exchange 中查找有关 NaNs 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by