我想把一些变量封装在一个结构体中,以便在函数间更轻松地进行输入和输出。问题是其中一个变量是一个单元数组 - 具体包含字符串。显然,一旦将其中一个变量传递给
struct(var1,var2,...)
如果是一个单元数组,则将该结构体变为结构体的单元数组,而不是将单元数组作为结构体内部变量——这不是我想要的结果,需要许多丑陋的代码。是否有任何解决方案或变通方法来解决这个问题?我想把一些变量封装在一个结构体中,以便在函数间更轻松地进行输入和输出。问题是其中一个变量是一个单元数组 - 具体包含字符串。显然,一旦将其中一个变量传递给
struct(var1,var2,...)
如果是一个单元数组,则将该结构体变为结构体的单元数组,而不是将单元数组作为结构体内部变量——这不是我想要的结果,需要许多丑陋的代码。是否有任何解决方案或变通方法来解决这个问题?您可以直接设置该字段:
X = struct('a', 'one', 'b', 'honk');
X.c = {'x', 'y'};
或者,如果你想要在struct()函数内完成所有操作,你可以将cell数组放入一个cell数组中:
X = struct('a', 'one', 'b', 'honk', 'c', {{'foo', 'bar'}});
X =
a: 'one'
b: 'honk'
c: {'foo' 'bar'}