0

我认为这是一个简单的

我有 8 个数组 T03,我想在一个循环中检查每个数组中的某些条件。这就是我所说的:

while(i<length(RRs)+1)
    if T03_i(2,4)>0 && RRs(1:2,i)<0
        RRs(1:2,i) = 0;
    end
    i=i+1;
end

如您所见,我想根据 RRs 和 T03_1/T03_2/T03_3/.../T03_8 中的条件更改 RRs 数组中的元素。由于 T03_i 不起作用,您有什么建议吗?

4

2 回答 2

0

我想您需要T03检查所有数组:

while(i<length(RRs)+1)
        if T03_1(2,4)>0 ...
            && T03_2(2,4)>0 ...
            && T03_3(2,4)>0 ...
            && T03_4(2,4)>0 ...
            && T03_5(2,4)>0 ...
            && T03_6(2,4)>0 ...
            && T03_7(2,4)>0 ...
            && T03_8(2,4)>0 ...
            && RRs(1:2,i)<0
                RRs(1:2,i) = 0;
        end
        i=i+1;
end
于 2013-04-28T19:58:50.030 回答
0

似乎 T03_i 数组的大小相同。您可以将它们组合成一个 3D 数组,如下所示:

T3D = cat(3,T03_1,T03_2,T03_3,T03_4,T03_5,T03_6,T03_7,T03_8)

然后

V_mn = squeeze(T3D(m,n,:));

将立即为您提供来自所有 T03_i 数组的第 m 行和第 n 列的元素向量,您可以像循环一样遍历它们V_mn(i)(此处i与您的含义相同T03_i)。

于 2013-04-28T20:03:04.537 回答