2014-12-10 3 views
0

matlab에 문제가 있습니다. 두 가지 다른 크기의 벡터가 있고 그것을 매트릭스에 결합하고 싶습니다.Matlab Programming - 다른 크기의 배열 배치

예 : A = [1 2 3 4] B = [5 ~ 6]

c=[1 2 3 4 
    5 6 0 0] 
+0

다음을 시도해보십시오. c = [a; b 0 0]. Matlab은 크기가 다른 배열을 연결할 수 없으므로 일부 값을 덧붙일 필요가 있습니다. –

+0

좋은데, 2 개 이상의 벡터가 있다면? 나는 그들을 결합하고 싶다 – dave

+0

이것에 대한 일반적인 규칙이 있습니까? 왜이 벡터들을 결합하고 싶습니까? – Schorsch

답변

0

당신은 사용할 수 있습니다 padarray는 :

a = [1 2 3 4]; 
b = [5 6]; 
c = [7 8 9]; 

list = {b c}; 

[tmp,size_a] = size(a); 
[tmp,listSize] = size(list); 

M = a; 

for i = 1:listSize 

    el = cell2mat(list(i)); 
    [tmp,size_b] = size(el); 

    diff = size_a - size_b; 
    el = padarray(el, [0 diff], 'post') 
    M = [M; el]; 

end 

M % show matrix 

이 배열의 목록을 반복하여 매트릭스를 구축하기에 충분합니다.