【发布时间】:2014-05-24 02:03:21
【问题描述】:
我对 Matlab 很陌生。这似乎是一件简单的事情,我敢肯定这是我缺乏经验,所以提前道歉。
基本上,我想使用两行中的信息来覆盖另一行中的数据。
我有两行数据输出例如:
B = [1 2 3 4 1 2 3 4]
C = [0 1 1 0 0 0 1 0]
然后我设置新的 D 行和 E 行,它们将用于基于新规则的输出:
D=nan(1,8);
E=nan(1,8);
我想用 C 中的值覆盖对应于 B 值的 D/E 单元格:
例如对于 B = 1 我想得到:
D= [0 nan nan nan 0 nan nan nan]
对于 B = 3,我想要:
E= [nan nan 1 nan nan nan 1 nan]
我目前的尝试是这样的(但它不起作用):
for D= 1:8
if B(n) == 1;
D(n)=C(n);
elseif B(n) == 3;
E(n)=C(n);
end
end
注意如果我在 excel 中执行此操作,我会使用它来创建 D(复制所有行):
D1=IF(B1=1,C1,"nan")
非常感谢任何帮助!
【问题讨论】:
标签: arrays excel matlab if-statement conditional