MATLAB:如何根据另一个矩阵的 "NaN" 值取消矩阵的("NaN" 值)元素?

MATLAB: How can I cancel ("NaN" value) elements of a matrix based on another matrix's "NaN" values?

假设我有一个矩阵 A=

 1     2     3;
 4     5     6;
 7     8     9

和矩阵 B=

1      NaN    3; 
NaN    5      6;  
7      NaN    NaN

我想取消在矩阵 B 中取消的相同元素。它将是:

A2=

 1     NaN     3;
 NaN     5     6;
 7     NaN     NaN

我该怎么做?

您可以创建新矩阵 A2,使每个元素为 a2 = b - b + a

这依赖于 NaN 通过表达式计算传播的事实,并且 b - b 在所有其他实例中本质上是一个空操作。

它也保证永远不会溢出你的类型。