2016-10-07 4 views

ответ

0

Если имя массива ячеек является с,

new_matrix =[] 
for i=1:size(c,1) 
new_matrix(:,:,i) = c {i,1} 
end 
+0

Добро пожаловать на ТАК! Я рад, что новый пользователь отвечает на вопросы MATLAB! Есть несколько вещей, которые я бы изменил здесь: 'new_matrix = []' - это плохая практика, так как вы создаете матрицу, которая растет внутри цикла. 'new_matrix = zeros ([size (x {1}), numel (x)])' лучше. 'size (c, 1)' на самом деле такой же, как 'numel (c)', который намного быстрее, и сложнее делать ошибки («было ли это первым или вторым измерением ..?»). 'i' и' j' недоверчивываются как имена переменных, так как они обозначают мнимую единицу ('sqrt (-1)'). Это не большая проблема, если вы не работаете со сложными числами, но тем не менее. –

1

Concatenate вдоль третьего измерения:

cat(3, x{:}); % where `x` is the cell array. 
Смежные вопросы