Возможно, существует массив ячеек внутри структуры в Matlab?
Я хотел бы обернуть несколько переменных внутри одной структуры, чтобы упростить ввод и вывод из функций, поскольку они отправляются совсем немного. Проблема в том, что одной из переменных является массив ячеек, в частности содержащий строки. Очевидно, как только одна из переменных, заданных
struct(var1,var2,...)
- это массив ячеек, затем он делает структуру ячеек массива структур, вместо того, чтобы иметь массив ячеек внутренней переменной структуры, которая не является моим желаемым результатом и потребует угадывания большого количества кода.
Есть ли какое-либо решение/обходное решение этой проблемы?
Ответы
Ответ 1
Вы можете установить поле напрямую:
X = struct('a', 'one', 'b', 'honk');
X.c = {'x', 'y'};
Или, если вы хотите сделать все внутри struct(), вы можете поместить массив ячеек в массив ячеек:
X = struct('a', 'one', 'b', 'honk', 'c', {{'foo', 'bar'}});
X =
a: 'one'
b: 'honk'
c: {'foo' 'bar'}