我有一个矩阵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
任何建议都会非常有用。
答案 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