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

5 次查看(过去 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 中查找有关 Analysis of Variance and Covariance 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by