Create matrix...please help me..

2 Ansichten (letzte 30 Tage)
andy ganteng
andy ganteng am 2 Nov. 2011
I have 2 matrix, A(m,n) and B(o,p). which m=o and n=p, then n and p depend on user input. if input = 3 then n = p =3, if input =10 then n = p =10, and so on. Now, i wanna create matrix C which consist of A and B with the structure like this C=[A(:,1) B(:,1) A(:,2) B(:,2) ...A(:,n) B(:,p)] how can i create that matrix, with n and p depend on user input?iam confuse...please help.
thanks in advance.

Akzeptierte Antwort

Sven
Sven am 2 Nov. 2011
% So you have 2 matrices that are the same size.
A = rand(4,5)
B = rand(4,5)+50
% Stack them on top of each other
C = cat(1, A, B)
% Rearrange them to have the same 1st dim size as the original
C = reshape(C, size(A,1),[])
You see here that the "C" variable has columns like you requested C=[A(:,1) B(:,1) A(:,2) B(:,2) ...A(:,n) B(:,p)]
  1 Kommentar
andy ganteng
andy ganteng am 2 Nov. 2011
thanks, that answer really helpful

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Naz
Naz am 2 Nov. 2011
I am also confused. Let's say that the user gives you two matrices A and B. It seems like you need to insert columns of one matrix between columns of another (lust like mixing the playing cards). Since both matrices will be the same size we can do the following:
[m n]=size(A);
C=zeros(m,2*n);
k=1;
for x=2:2:2*n
C(:,x-1)=A(:,k);
C(:,x)=B(:,k);
k+1;
end
  1 Kommentar
andy ganteng
andy ganteng am 2 Nov. 2011
thanks, the results is the same as answer above

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by