9
我有一個2D單元陣列。我要做到以下幾點:簡單的2D單元陣列追加
y = some_number;
row(x) = [row(x) another_row(y)];
然而,行(X)沒有被定義,直到出現這種情況,因此不能正常工作!當行(x)可能沒有被定義時,我如何簡單地將another_row(y)追加到行(x)上?
對不起,這很容易在其他語言做,但我不知道如何在MATLAB!
謝謝。
我有一個2D單元陣列。我要做到以下幾點:簡單的2D單元陣列追加
y = some_number;
row(x) = [row(x) another_row(y)];
然而,行(X)沒有被定義,直到出現這種情況,因此不能正常工作!當行(x)可能沒有被定義時,我如何簡單地將another_row(y)追加到行(x)上?
對不起,這很容易在其他語言做,但我不知道如何在MATLAB!
謝謝。
你可以先初始化row
是一個空數組(或單元陣列)如下:
row = []; %# Empty array
row = {}; %# Empty cell array
然後你就可以添加一個新行到數組(或單元陣列新細胞)像所以:
row = [row; another_row(y)]; %# Append a row to the array
row = [row; {another_row(y)}]; %# Append a cell to the cell array
查看creating and concatenating matrices以獲取更多信息的文檔。
還應該注意,像這樣增長的數組並不是非常有效。假設你知道它的最終尺寸,這是一個更好的主意。如果您不知道最終尺寸,則allocating array elements in chunks可能會比一次分配一行更有效。
這並不完全清楚你想要做什麼。你能否提供一個具體的例子,說明你的陣列中可能存在什麼,以及之後你想要的內容?或者使用其他語言的代碼很容易? – 2011-03-09 18:21:08