小编use*_*116的帖子

根据应用于另一个向量的条件创建向量

我是Matlab的新手.这似乎是一件简单的事情,我确信我缺乏经验,所以提前道歉.

基本上,我想使用两行中的信息来覆盖另一行中的数据.

我有两行数据输出,例如:

B = [1 2 3 4 1 2 3 4]
C = [0 1 1 0 0 0 1 0]
Run Code Online (Sandbox Code Playgroud)

然后我设置新的行D和E,它们将用于基于新规则的输出:

D=nan(1,8);
E=nan(1,8);
Run Code Online (Sandbox Code Playgroud)

我想用C中的那些覆盖与B的值相对应的D/E单元格:

例如,对于B = 1,我想得到:

D= [0 nan nan nan 0 nan nan nan]
Run Code Online (Sandbox Code Playgroud)

对于B = 3我想:

E= [nan nan 1 nan nan nan 1 nan]
Run Code Online (Sandbox Code Playgroud)

我目前的尝试是这样的(但它不起作用):

for D= 1:8
if B(n) == 1;
 D(n)=C(n);
elseif B(n) == 3;
 E(n)=C(n);
end
end
Run Code Online (Sandbox Code Playgroud)

NB如果我在excel中这样做,我会用它来创建D(复制所有行):

D1=IF(B1=1,C1,"nan")
Run Code Online (Sandbox Code Playgroud)

任何帮助都将非常感谢!

arrays excel matlab conditional if-statement

2
推荐指数
1
解决办法
77
查看次数

标签 统计

arrays ×1

conditional ×1

excel ×1

if-statement ×1

matlab ×1