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
在所有其他实例中本质上是一个空操作。
它也保证永远不会溢出你的类型。
假设我有一个矩阵 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
在所有其他实例中本质上是一个空操作。
它也保证永远不会溢出你的类型。