【发布时间】:2018-04-17 04:58:26
【问题描述】:
我有一个大小为 13472x1537 的矩阵 A。该矩阵包含小于 1 的值。在我的情况下,我寻求满足以下条件的解决方案:
如果某列包含小于 1 的值,请将同一列中的所有其他值替换为 NaN。
我能够实现可以将这些值(小于 1)替换为之前的值(或任何值)的代码。但是,我正在寻找一种解决方案,该解决方案将列中的每个值都更改为 NaN,无论以后(或以前)的值是否大于 1。
我有i=1537; t=13472
for i = 1:size(A,2)
I = A(1,i);
for t= 2:size(A,1)
if A(t,i) <= 1
A(t,i) = I;
else
I = A(t,i);
end
end
end
【问题讨论】:
-
当一列中有多个小于 1 的值时,期望的行为是什么?
-
@DennisKlopfer:好的,我应该指定问题。如果一列中至少有一个小于 1 的值,则该列中的所有值都应返回 NaN。
标签: arrays matlab loops replace