How to build matrix

Dear all! I have the following problem. I have 4 values A,B,C,D each value has the size [3 x 1000]. A need to built matrix [A B; C D], which M [A(m,n) B(m,n); C(m,n) d(m,n)]. How to do it? NOw I have only the last result the code I have now :
if true
freq_points= 1000;
n = 3;
A = zeros(n,freq_points);
B = zeros(n,freq_points);
C = zeros(n,freq_points);
D = zeros(n,freq_points);
B = ones (n, freq_points);
for r =1:3
for la = 1:1:freq_points;
A(r,:) = exp(gamma(r,:).*d(r));
B(r,:) = 1;
C(r,:) = exp((-gamma(r,:)).*d(r))*(1/Z(r));
D(r,:) = -1/Z(r);
M = [A(r,la) B(r,la); C(r,la) D(r,la) ]
end;
end

2 commentaires

dpb
dpb le 17 Mar 2014
First format your code so we can read it...keep at it until it looks right in the preview window.
Image Analyst
Image Analyst le 17 Mar 2014

Connectez-vous pour commenter.

Réponses (2)

Image Analyst
Image Analyst le 17 Mar 2014

0 votes

Take M outside the loop and do
M = [A B; C D];
So M is only created after A, B, C, and D have finished being created.

1 commentaire

Yulia
Yulia le 17 Mar 2014
in this case I have the answer with dimension[6:2000]. And it looks like :[A(1) A(2) A(3) D(1)D(2)D(3) ]

Connectez-vous pour commenter.

Yulia
Yulia le 17 Mar 2014

0 votes

I decided to make like this:
if true
for r = 1:3
for la = 1:1:freq_points
A(r,:) = exp(gamma(r,:).*d(r));
B(r,:) = 1;
C(r,:) = exp((-gamma(r,:)).*d(r))*(1/Z(r));
D(r,:) = -1/Z(r);
%D(r) = [D(r)];
M = [A(r,la) B(r,la); C(r,la) D(r,la) ];
FG (:,:,la) = M;
end
But now I do not know how to save all this all the matrices for r=1, r=2, r=3. NOw i can have only r = 3

Catégories

En savoir plus sur Matrices and Arrays dans Centre d'aide et File Exchange

Question posée :

le 17 Mar 2014

Commenté :

le 17 Mar 2014

Community Treasure Hunt

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

Start Hunting!

Translated by