2012-11-19 39 views
0

我很困惑通過下面的代碼:爲什麼這不是一個二維數組?

>> x = [0.4+randn(100,1).*0.15; 1+ randn(200,1).*0.25]; 

>> size(x) 

ans = 
    300 1 

我以爲分號被用來表示矩陣中的單獨一行。鑑於兩個矢量的長度不相同,這不應該引起錯誤嗎?

我錯過了什麼?

+0

使用逗號代替分號。 –

+0

如果使用逗號,則會由於尺寸不一致而引發錯誤。 –

回答

1

在創建2個陣列和串聯那些:

randn(100,1)創建了一個100行,1列陣列 randn(200,1)創建了一個200行,1列陣列

表達式中的分號表示:'將它們放在下面' 如果刪除分號(;),它將是一個矩陣(並且可能會給出錯誤)。然後,您將2個列向量彼此相鄰。

+0

哦,我明白了!我們在這裏的垂直維度上工作,所以說「把這個垂直列放在另一個垂直列下面的行」類似於調用'cat'。謝謝!這是一個主要的大腦放屁= / – blz

相關問題