Я новичок в MATLAB и смущен тем, как получать числовые массивы из массивов ячеек. Согласно MATLAB, у меня есть матрица result
и я получаю следующее:преобразование матрицы 2d ячеек в 2d числовую матрицу
>> size(result)
ans =
1 15
>> result
ans =
Columns 1 through 15
[3] [15] [1x2 double] [13] ... \\ Omitted for clarity
>> iscell(result)
ans =
1
Так что, похоже, как результат представляет собой массив 2-D ячейка размером 1 х 15, но есть и суб-массив (?) в нем, указанном [1x2 double]
. В этом конкретном примере предположим, что есть только один из этих элементов [1x2 double]
. Другими словами, result
состоит из четырнадцати одноэлементных столбцов и одного многоэлементного столбца.
Я проверил документацию и согласно this page существует метод под названием cell2mat
. К сожалению, это не совсем то, что мне нужно, потому что он выводит 1x16 числовой массив:
>> cell2mat(result)
ans =
3 15 10 7 13 ... \\ Omitted for clarity
В этом примере, 10 и 7 были элементы, составлявшие [1x2 double]
, это просто, что MATLAB по какой-то причине Ждут» t указывает, что при печати массива ячеек.
Вопрос: Есть ли способ преобразовать эту матрицу в числовой массив массивов при сохранении группировки? В частности, я надеюсь получить что-то вроде формы [[3], [15], [10, 7], [13], ...] и их значения будут числовые. Это возможно? Для чего это стоит, я использую MATLAB с некоторым кодом Java из matlabcontrol, и для этого программного обеспечения требуются массивы массивов с вещественными значениями.