Matlab 将索引值分配给结构字段

Matlab 将索引值分配给结构字段,matlab,Matlab,我希望我的索引结构的字段采用不同向量中类似索引的值: struc(1:3).value=1:3 但是,这会导致错误“大括号或点索引表达式预期有一个输出,但有两个结果。” 将赋值行的左侧或右侧括在方括号中没有帮助。我认为deal不合适,因为它只是分配相同的值,而不是在向量上分配一对一的值 除了使用for循环,我如何实现这个变量赋值?使用Matlab 2016a。如果您已经创建了struc,只需执行以下操作: c = num2cell(1:3); [struc(1:3).value] = c{:}

我希望我的索引结构的字段采用不同向量中类似索引的值:

struc(1:3).value=1:3
但是,这会导致错误“大括号或点索引表达式预期有一个输出,但有两个结果。”

将赋值行的左侧或右侧括在方括号中没有帮助。我认为
deal
不合适,因为它只是分配相同的值,而不是在向量上分配一对一的值


除了使用for循环,我如何实现这个变量赋值?使用Matlab 2016a。

如果您已经创建了
struc
,只需执行以下操作:

c = num2cell(1:3);
[struc(1:3).value] = c{:};
或在一行中创建所需的结构:

struc = cell2struct(num2cell(1:3), {'value'});

如果您已经创建了
struc
,只需执行以下操作:

c = num2cell(1:3);
[struc(1:3).value] = c{:};
或在一行中创建所需的结构:

struc = cell2struct(num2cell(1:3), {'value'});