Я пишу код, в котором у меня есть 2D структурный массив (organism = 10x10 struct
), одно из его полей состоит из полностью скаляров, и я хочу извлечь все эти скаляры и помещаем их в матрицу. Я попытался положить его в квадратные скобки, но вместо того, чтобы дать мне прямоугольную матрицу, он дал мне матрицу длинного ряда;Matlab: превратить массив структурных массивов 2d в матрицу
>> [organism(1:3,1:3).fitness]
ans =
-5 990 493 492 -5 -8 994 -5 -10
Опять же, я надеялся получить
-5 990 493
492 -5 -8
994 -5 -10
Я попытался vertcat(organism(1:3,1:3).fitness)
, но, как и следовало ожидать, он просто дал мне одну колонку. Я надеюсь сделать это без циклов, поскольку в конечном итоге это будет весь массив структур с размером минимум 50x50. Есть ли способ превратить поле, которое является всем скаляром в 2D структурном массиве, в матрицу с одинаковыми размерами?
(у меня не будет никаких проблем с 40x60 превращается в 60x40, я не ожидаю, чтобы иметь какие-либо трудности Транспонирование матрицы я получаю из.)