У меня есть ячейка, которая состоит из множества различных массивов с различными размерами. Например, это может быть мой мобильный:Как извлечь элементы из ячейки
A = {[-1] [144x1 double] [-1] [331x1 double] [-1] [431x1 double] [-1] [512x1 double]}
Я хочу сделать гистограмму со всеми данными, содержащимися в клетке. Я пытался делать cell2mat:
B = cell2mat(A);
для извлечения данных, а затем сделать гистограмму, но он дает эту ошибку:
??? Error using ==> cat
CAT arguments dimensions are not consistent.
Error in ==> cell2mat at 81
m{n} = cat(2,c{n,:});
Error in ==> function at 156
B = cell2mat(A);
Я также пытался создать матрицу с петлей :
for j=1:length(A)
B = [B; A{j}]
end
Но проблема здесь заключается в том, что MATLAB использует те же размеры для всех массивов и заполняет пустые пространства с 0.
Как я могу достичь этого правильно?
Я не хочу, чтобы просто скопировать и вставить решение сверху, то будет однострочник вам нужно: 'B = [cell2mat (cellfun (@ (х) x (:), A, 'uni', 0) ')]' ' – thewaywewalk
Спасибо, ваш nswers были действительно полезны, он работает сейчас. – user3296836