Changing Array Elements with logical indexing

2 次查看(过去 30 天)
Hi
If I want to change all NaNs in an array A to zero, the following works:
A(isnan(A))=1000
As far as I see the isnan(A) returns nothing but an array of 1's and 0's.
But if I do the following:
B = [ 1 5 8]; B([0 0 1]) = 1000;
to replace the 8 with a 1000, I get an error - why?

采纳的回答

Azzi Abdelmalek
Azzi Abdelmalek 2014-4-4
B = [ 1 5 8];
B(logical([0 0 1])) = 1000;

更多回答(1 个)

TAB
TAB 2014-4-4
B(B==8)=1000;

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by