2016-10-02 143 views

回答

0

你想完成什麼?

在您的for-loop中,您的索引從1變爲4。但是,您嘗試訪問x(i),其中x是一個空數組。因此,在第一次迭代中(i = 1),您正在訪問未定義的x(1)。這會導致索引超出範圍錯誤。

同樣對於使用的那些()函數,你應該由逗號分隔的輸入參數: ones(size(x(i)), x(i))

代碼示例

x = [1 2 3; 1 4 3; 1 5 3; 1 6 3]; 
V = zeros(size(x, 1), 1); % initialize V 
for i = 1:1:size(x, 1) 
    V(i) = x(i, 1); 
end 

此示例返回從各行的第一元素的向量你的矩陣x。

V = [1; 1; 1; 1] 
+0

我想創建每個向量看起來像矩陣這樣 V = 1 1 1 1 2 3,並在循環,使 所以是應該得到進入X1,X2,X3,X4 所以我應該是索引,這就是爲什麼我這樣寫它x(i) –

+0

啊,我明白了。問題是x(i)訪問變量x的元素。如果你想迭代不同的向量,我建議你構造一個矩陣'x = [x1; X2; X3; x4]'並用'for i = 1:1:4'遍歷它的行'x(i,:)'。 – imant

+0

有道理,非常感謝你 –