我有两个matlab数组,非常大,超过41k行,每行有10列。
我还有一个完全相同的数组,填充了1和0。我需要将此逻辑数组应用于第一个数组,如果值为逻辑真,则传递数字,否则如果为false则必须返回NaN。
使用类似的东西:
output= number(array)
仅提供正逻辑数组值的输出,但我需要保持数组的大小/结构相同,我该怎么做?
答案 0 :(得分:2)
首先让我们生成一个虚拟矩阵和一个虚拟掩码
A = rand(5,3);
M = randi([0 1], 5, 3);
然后您可以将蒙版应用于原始矩阵
A(not(M)) = nan;
答案 1 :(得分:1)
使用output
s预先分配NaN
:
output = NaN(size(number))
output(array) = number(array)