Matlab 是否有一种方便的方法将现有结构转换为脚本?

Matlab 是否有一种方便的方法将现有结构转换为脚本?,matlab,Matlab,我有一个现有的结构数组,它通过load()语句加载到工作区中。字段包含char和double 我想在脚本中创建这个结构,包括其字段的内容,但是由于结构很大,我不想手工写出所有字段和值 将结构字段从工作区拖动到编辑器中,只需将字段名称复制到编辑器上即可 是否有一种简单方便的方法来提取字段及其值,以便 example_struct 都转换为表单的语句 example_struct.field1 = <some_value>; 示例_struct.field1=; 哪一个不需要写剧本

我有一个现有的结构数组,它通过
load()
语句加载到工作区中。字段包含
char
double

我想在脚本中创建这个结构,包括其字段的内容,但是由于结构很大,我不想手工写出所有字段和值

将结构字段从工作区拖动到编辑器中,只需将字段名称复制到编辑器上即可

是否有一种简单方便的方法来提取字段及其值,以便

example_struct
都转换为表单的语句

example_struct.field1 = <some_value>;
示例_struct.field1=;
哪一个不需要写剧本


编辑:我想写一个脚本(一个M文件),用实际值填充一个新的结构数组。我想从我用
load()
加载的现有结构中获取该脚本的语句,包括值,但我想知道这是否可以在不编写脚本(例如,使用fprintf语句)来执行任务的情况下完成。

如果我理解正确,您想将结构转储到Matlab脚本文件中,而不是.mat文件。您可以使用几行Matlab执行类似操作:

fId = fopen('outputfile.m');
names = fieldnames(example_struct);
for i = 1 : length(names)
  fprintf(fId, 'example_struct.%s = %d;\n', names{i}, example_struct.(names{i}) );
end
fclose(fId);

fieldnames
函数返回结构的字段名单元格数组,可以使用
示例结构('name')
符号依次访问该数组。注意,我做了一些基本假设,比如所有字段都是数字。我将让您根据您的需要扩展此功能

如果您只想复制结构,但没有数据,您可以尝试我在这里提出的技巧:如果您不想手动键入所有字段和值,那么这个“脚本”将如何为您执行?您有存储在某处的字段列表吗?您是想用实际值填充结构数组,还是将字段留空?@EitanT抱歉,我意识到这个问题有点混乱。我添加了一个澄清。是的,这就是我认为需要做的。我想知道是否有任何GUI(或其他)技巧会使它变得不必要,特别是因为我还有char字段。