Cell2mat для массивов ячеек с числовыми строками разного размера в Matlab - PullRequest
0 голосов
/ 07 декабря 2018

Привет, у меня есть массив ячеек, который я хочу преобразовать в матрицу:

a = {'1.2'; '1.3'; '1.45'}
cell2mat(a)

Дает мне ошибку:

Error using cat
CAT arguments dimensions are not consistent.

Error in cell2mat (line 84)
            m{n} = cat(1,c{:,n});

Пожалуйста, помогите, спасибо!

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018

cell2mat терпит неудачу, потому что он ожидает, что числовые элементы в массиве ячеек будут помещены в матрицу.У вас есть массивы символов, а не числовые элементы, поэтому вам нужно использовать str2double, чтобы преобразовать их в двойные числа (вывод - матрица по желанию).

a = {'1.2'; '1.3'; '1.45'};
out = str2double( a ); 
0 голосов
/ 07 декабря 2018

Вы можете попробовать следующее:

a = {[1.2]; [1.3]; [1.45]}
cell2mat(a)
...