How to build matrix

2 次查看(过去 30 天)
Yulia
Yulia 2014-3-17
评论: Yulia 2014-3-17
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 个评论
dpb
dpb 2014-3-17
First format your code so we can read it...keep at it until it looks right in the preview window.

请先登录,再进行评论。

回答(2 个)

Image Analyst
Image Analyst 2014-3-17
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 个评论
Yulia
Yulia 2014-3-17
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) ]

请先登录,再进行评论。


Yulia
Yulia 2014-3-17
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

类别

Help CenterFile 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