Массив ячеек внутри структуры в Matlab-возможно?

Я хотел обернуть несколько переменных внутри одной структуры, для облегчения ввода и вывода из функций, поскольку они отправляются довольно много. Проблема в том, что одна из переменных-это массив ячеек, содержащий строки. Очевидно, когда-то одна из переменных, заданных

struct(var1,var2,...) 

является массивом ячеек, затем он делает структуру массивом ячеек структур, вместо того, чтобы иметь массив ячеек внутренней переменной структуры - что не является моим желаемым результатом и будет требуется uglyfing много кода.

есть ли какое-либо решение/обходной путь к этой проблеме?

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'}