如何更新for循环MATLAB中的矩阵

时间:2015-08-19 15:52:31

标签: matlab for-loop matrix

我有一个矩阵A和一个向量u。我想运行for循环来更新向量u。操作很简单,我将通过u多次A(结果是由z表示的另一个向量)。选择z中的最大元素(结果是标记为m的标量)。通过将向量z除以m来更新u。我不知道如何索引矩阵所以我使用了单元格符号,但这可能不正确。

 A=[1 2 3 4; 5 6 7 8 ; 9 10 11 12; 13 14 15 16];
 u= ones (4,1);


 for s=1:10
     z{s}= A*u{s};
     m(s)= max(z{s});
     u{s} = z{s}/m(s);
end

任何建议都会非常有用。

1 个答案:

答案 0 :(得分:0)

你不必索引任何东西。只需删除所有这些索引。您应该阅读docs以了解何时进行索引以及何时不进行索引。你所拥有的只是矩阵运算。

 A=[1 2 3 4; 5 6 7 8 ; 9 10 11 12; 13 14 15 16];
 u= ones (4,1);

 for s=1:10
     z = A*u;
     m = max(z);
     u = z/m;
 end

u的最终值是

0.2028
0.4685
0.7343
1.0000