Добавление простого двухмерного массива ячеек - PullRequest
9 голосов
/ 09 марта 2011

У меня есть двумерный массив ячеек.Я хочу сделать следующее:

y = some_number;
row(x) = [row(x)  another_row(y)];

Однако строка (x) не определена, пока это не произойдет, поэтому она не работает!Как мне просто добавить another_row (y) в row (x), если row (x) не может быть определен?

Извините, это легко сделать на других языках, но я не уверен, как в MATLAB!

Спасибо.

1 Ответ

15 голосов
/ 09 марта 2011

Вы можете сначала инициализировать 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

См. документацию для получения дополнительной информации о создании и объединении матриц .

Следует также отметить, что такие растущие массивы неочень эффективный. Предварительное выделение массива , при условии, что вы знаете, каким будет конечный размер, является гораздо лучшей идеей.Если вы не знаете окончательный размер, выделение элементов массива в чанах , вероятно, будет более эффективным, чем выделение их по одной строке за раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...