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 中查找有关 Operators and Elementary Operations 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by