how to create a matrix in matlab
이전 댓글 표시
I have A=[1 3; 2 4]; and B=[5 6; 7 8];
I would like to create this two matrix line by line in C :
C=[1 3;5 6; 2 4; 7 8];
댓글 수: 5
Sena Koçak
2022년 2월 1일
By writing, C = [A(1,:);B(1,:);A(2,:);A(2,:)]
marwa hajji
2022년 2월 1일
Sena Koçak
2022년 2월 1일
I wrote on my phone, so I hope there is error in that. There are simply two case, odd and even number of total row. Maybe there exists a simple solution, but it works :)
[sizeRowA sizeColA] = size(A); [sizeRowB sizeColB] = size(B);
C = zeros(sizeRowA + sizeRowB, sizeColA);
if (rem((sizeRowA + sizeRowB),2) == 0) for i = 1:((sizeRowA+sizeRowB)/2) C(2*i-1,:) = A(i,:); C(2*i,:) = B(i,:); end else for i = 1:((sizeRowA+sizeRowB-1)/2) C(2*i-1,:) = A(i,:); C(2*i,:) = B(i,:); end C(sizeRowA+sizeRowB,:) = A(sizeRowA,:) end
marwa hajji
2022년 2월 2일
Image Analyst
2022년 2월 2일
@marwa hajji did you see my Answer below (scroll down to the official Answers section, not up here in the comments section which is supposed to be used to ask the original poster for clarification)?
답변 (2개)
Benjamin Thompson
2022년 2월 1일
0 개 추천
A couple different ways:
>> A = [1 3; 2 4]
A =
1 3
2 4
>> B = [5 6; 7 8]
B =
5 6
7 8
>> C = A
C =
1 3
2 4
>> C = [C; B]
C =
1 3
2 4
5 6
7 8
>> C = [A; B]
C =
1 3
2 4
5 6
7 8
댓글 수: 1
This
C =
1 3
2 4
5 6
7 8
is not what he wanted. He said he wants
C=[1 3;5 6; 2 4; 7 8]
Try this:
A=[1 3; 2 4]
B=[5 6; 7 8]
% What is desired:
C = [1 3;5 6; 2 4; 7 8]
% My code
C2 = [A(1,:); B(1, :); A(2,:); B(2,:)]
If you need it generalized to interleave a different number of rows than 2, or if A and B might have different numbers of rows, then it would be more complicated.
카테고리
도움말 센터 및 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!