2010-04-27 27 views
33

Bir m-by-m (kare) dizi için, tüm satırları m^2 boyutunda bir sütun vektörüne nasıl bağlarsınız?Bir matrisin satırlarını bir vektörde nasıl birleştiriyorsunuz?

+0

değil matris birleştirme genellikle çarpma anlamına mı: Burada, bir colon syntax(:) kullanarak ve bir (ilk transposing matris sonra) fonksiyonunu reshape iki örnek kullanıyorsunuz? –

+5

Sanırım kare matrisini sütun vektörüne "düzleştirmek" istiyor, değil mi? 'Reshape' için bir argüman olarak –

cevap

63

Matrisinizin içeriğinin bu vektörü nasıl doldurmasını istediğinize bağlı olarak, matrisinizi bir vektöre daraltabileceğiniz birkaç farklı yol vardır.

>> M = [1 2 3; 4 5 6; 7 8 9]; % Sample matrix 
>> vector = reshape(M.', [], 1) % Collect the row contents into a column vector 

vector = 

    1 
    2 
    3 
    4 
    5 
    6 
    7 
    8 
    9 

>> vector = M(:) % Collect the column contents into a column vector 

vector = 

    1 
    4 
    7 
    2 
    5 
    8 
    3 
    6 
    9 
+6

+1' i bilmiyordum. – Mikhail

İlgili konular