Changing Array Elements with logical indexing

2 Ansichten (letzte 30 Tage)
MiauMiau
MiauMiau am 4 Apr. 2014
Kommentiert: per isakson am 4 Apr. 2014
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?

Akzeptierte Antwort

Azzi Abdelmalek
Azzi Abdelmalek am 4 Apr. 2014
B = [ 1 5 8];
B(logical([0 0 1])) = 1000;
  2 Kommentare
MiauMiau
MiauMiau am 4 Apr. 2014
thx...then the result of the isnan are logical 1s and 0s?
per isakson
per isakson am 4 Apr. 2014
Yes,
>> class( isnan( nan ) )
ans =
logical
>>

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

TAB
TAB am 4 Apr. 2014
B(B==8)=1000;

Kategorien

Mehr zu Operators and Elementary Operations finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by