substituting value in matrix does not work for some reason

조회 수: 1 (최근 30일)
Bogdan
Bogdan 2014년 11월 18일
편집: Kelly Kearney 2014년 11월 18일
A = [6 9 NaN NaN 8 NaN]; B = [2 5 342 232 1 116];
sizeA = size(A);
for m = [1:1:size(2)];
if A(1,m) == NaN;
B(1,m) = NaN;
end;
end;
I was hoping B would become [2 5 NaN NaN 8 NaN], but it did not change. I would appreciate any help

채택된 답변

Kelly Kearney
Kelly Kearney 2014년 11월 18일
편집: Kelly Kearney 2014년 11월 18일
You can't use == with NaNs:
>> NaN == NaN
ans =
0
Use isnan instead:
B(isnan(A)) = NaN;

추가 답변 (1개)

Kevin Claytor
Kevin Claytor 2014년 11월 18일
Logical indexing makes this much easier;
B(A==NaN) = NaN;

카테고리

Help CenterFile Exchange에서 Numeric Types에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by