如何在循环中改变矩阵矩阵?

时间:2013-10-09 08:17:09

标签: matlab loops matrix

在我的程序中,我有

的值
RpMats{k} = Rp;

其中RpMats是矩阵数组,RpMats的每个元素都是50x50矩阵。示例:RpMats = [(50x50矩阵)(50x50矩阵)(50x50矩阵)(50x50矩阵)....(50x50矩阵)]我在RpMats中总共有100个矩阵。我想在下面的循环中使用RpMats的这些元素(它们是矩阵):

for j = 1 : 50
X = max( Rp(j,:)-RecPackets, 0) ; 
end

%这里Rp是RpMats的第一个元素的输入,然后是RpMats的第二个元素,就像这样。这意味着通过提及Rp我想提供来自RpMats的输入。 Rp的第一个输入将是RpMats的第一个矩阵。像这样我想将所有100个RpMats矩阵作为Rp的输入。有可能吗?

1 个答案:

答案 0 :(得分:2)

基本上你需要两个指数。一个用于指定要对其添加阵列的矩阵,可以调用该索引jj。并且进一步地,索引每个矩阵的元素,例如, ii

然后你可以创建(例如)一个嵌套循环:

for jj=1:number of matrices in array
    for ii=1:50
        Rp{jj}(ii,:) = do something
    end
end

所以单元格数组(你的矩阵数组是什么)用{...}加上一个双精度矩阵,然后用(...)对这个矩阵进行处理。

如果你想使用类似Rp {jj,:}的东西 - 我建议使用{Rp{jj,:}}(例如当你有一个矩阵矩阵,但你只对某个列感兴趣时,你可以过滤就是这样。