Matlab 如何在一个循环中操作七个阵列

Matlab 如何在一个循环中操作七个阵列,matlab,loops,indexing,Matlab,Loops,Indexing,我觉得很简单 我有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 while(i0&&RRs(1:2,i)我想您需要检查所有T03数组: while(i<length(RRs)+1) if T03_1(

我觉得很简单

我有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

while(i0&&RRs(1:2,i)我想您需要检查所有
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
while(i0。。。
&&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)似乎T03_i阵列的大小相同。您可以将它们组合在一个3D阵列中,如下所示:

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


将同时给您一个来自所有T03_i数组的第m行和第n列元素向量,您可以像
V_mn(i)
一样循环它们(这里
i
的含义与
T03_i
中的含义相同)。

事实上,我想到了这一点(但它将是作为“或”条件),但我想到了其他一些东西,因为这是一个常见的问题。你想生成上面的代码吗?或者你想通过数组名进行迭代?我不确定我是否遵循…我想通过数组名,但anandr提出了优雅的后门解决方案alreadyyep,我也喜欢他的解决方案。:-)
V_mn = squeeze(T3D(m,n,:));