storing values in for loop

i want to make a vector consists of following fi elements from for loop how can i do that ??
where F=[CA;CA^2;CA^3;...etc]
how can i store values of fi in above matrix ???
Code:
Am=[0 1 0;0 0 1;0 -1.8 2.7];
Bm=[0;0;1];
Cm=[6 5 1];
Dm=0;
N2=10;
Nu=2;
[n,n1]=size(Am);
Om=zeros(n,1);
A=[Am Om;Cm*Am 1];
B=[Bm;Cm*Bm];
C=[0 0 0 1];
% To get G,F
for i=1:N2
fi=C*A^i;
end

 采纳的回答

Looks like you C is a 1x4 row vector and A 4x4.
If you want to store the results as rows of a matrix
B = A;
N2 = 10;
for nn = 1:N2
out(nn,:) = C*B;
B = B*A;
end
You also always initialize out with zeros first
out = zeros(N2,4);
before you enter the loop.
Actually if your C is really just [0 0 0 1], then all you're obtaining is the last row of the powers of the matrix A.
for nn = 1:N2
B = A^nn;
out(nn,:) = B(end,:);
end

1 个评论

ty it really helped;
but if i had matrix in form of G=[CB 0 0...;CAB CB 0 0 ...;C(A^2)B CAB 0 0...);C(A^N2-1)B....CA^(N2-Nu)B];
is there anyway to store it directly or i have to use answer and form this matrix myself ??

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by