Info
此问题已关闭。 请重新打开它进行编辑或回答。
I want to have a sequence of vectors using the following loop. but when i run the mat lab it will say "Subscripted assignment dimension mismatch." what can i do to index vectors and matrix.
1 次查看(过去 30 天)
显示 更早的评论
for k=1:100;
x(1)=[1 4 6];
A=[1 3 -1; 2 1 5; 9 7 4];
x(k+1)=A*x(k)
end
回答(1 个)
Dennis
2018-8-31
There are a few errors in your code:
- You try to assign 3 values [1 4 6] to only one field in x. This will not work unless x is a cell or structure.
- You try to multiply a 3x3 matrix with a 1x3 matrix, i think there is no mathematical correct way to do this. I am not sure which vector is supposed to be in a 3D space.
- This is no error, but if A and x(1) never change there is no need to reassign them in every loop iteration.
I fixed the "Subscripted assignment dimension mismatch" for you. I also swapped A*x{k} to x{k}*A, but this might not be what you want to calculate.
x=cell(101,1);
A=[1 3 -1; 2 1 5; 9 7 4];
x{1}=[1 4 6];
for k=1:100
x{k+1}=x{k}*A;
end
1 个评论
此问题已关闭。
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!