矩阵的逻辑索引

时间:2016-03-20 19:40:54

标签: matlab

我有以下矩阵:

Data = [1 NaN 2; NaN NaN 3 ; 1 NaN NaN]
Data1 = [8 3 2; 4 5 3 ; 9 6 7]

我想只选择Data1的那些值,使Data中的相应元素等于1.

我对逻辑索引的尝试只返回一个向量。

Want=Data;
Want(Want~=1)=NaN;
idx=Want==1;
Data1(idx)

但是Data1(idx)= [8 9]。另一方面,我想获得:

Want = [8 NaN NaN; NaN NaN NaN; 9 NaN NaN]

谢谢。

1 个答案:

答案 0 :(得分:0)

由于您想要将所有不同的元素更改为1到NaN,您只需使用Data~=1选择所有这些元素,因此您只需将值NaN分配给这些元素:

Data(Data~=1)=NaN