Changing Array Elements with logical indexing

2 ビュー (過去 30 日間)
MiauMiau
MiauMiau 2014 年 4 月 4 日
コメント済み: per isakson 2014 年 4 月 4 日
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;
  2 件のコメント
MiauMiau
MiauMiau 2014 年 4 月 4 日
thx...then the result of the isnan are logical 1s and 0s?
per isakson
per isakson 2014 年 4 月 4 日
Yes,
>> class( isnan( nan ) )
ans =
logical
>>

サインインしてコメントする。

その他の回答 (1 件)

TAB
TAB 2014 年 4 月 4 日
B(B==8)=1000;

カテゴリ

Help Center および File ExchangeMatrices and Arrays についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by