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

 Akzeptierte Antwort

Wayne King
Wayne King am 25 Apr. 2012

1 Stimme

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 Kommentar

Marwa  Ali
Marwa Ali am 25 Apr. 2012
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 ??

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by