Matlab中结构内的单元格数组 - 可能吗?

dan*_*345 12 matlab struct cell-array

我想在单个结构中包含一些变量,以便更容易地输入和输出函数,因为它们被发送很多.问题是其中一个变量是一个单元格数组 - 特别是包含字符串.显然,一旦给出了变量之一

struct(var1,var2,...) 
Run Code Online (Sandbox Code Playgroud)

是一个单元格数组,然后它使结构体成为结构的单元格数组,而不是让单元格数组成为结构的内部变量 - 这不是我想要的结果,并且需要大量的代码.

这个问题有解决方案/解决方法吗?

Ale*_*lex 27

您可以直接设置字段:

 X = struct('a', 'one', 'b', 'honk');
 X.c = {'x', 'y'};
Run Code Online (Sandbox Code Playgroud)

或者,如果您想在struct()中执行所有操作,可以将单元格数组放入单元格数组中:

X = struct('a', 'one', 'b', 'honk', 'c', {{'foo', 'bar'}});
X = 
    a: 'one'
    b: 'honk'
    c: {'foo'  'bar'}
Run Code Online (Sandbox Code Playgroud)