Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 将值赋给非标量结构的每个元素的相同字段_Arrays_Matlab_Struct_Field_Assign - Fatal编程技术网

Arrays 将值赋给非标量结构的每个元素的相同字段

Arrays 将值赋给非标量结构的每个元素的相同字段,arrays,matlab,struct,field,assign,Arrays,Matlab,Struct,Field,Assign,在Matlab中,可以使用 my_array(1000).foo = []; [my_array.foo] = some_cell{:}; 现在我要做的是为数组中的所有字段指定一个值。但无论我尝试了什么,Matlab都会返回错误消息,而不是默默地假设,如果我想分配一个大小为[1x1]的元素,它应该分配给所有字段。如果我能简单地说,例如: my_array.foo = pi; ??? Incorrect number of right hand side elements in dot name

在Matlab中,可以使用

my_array(1000).foo = [];
[my_array.foo] = some_cell{:};
现在我要做的是为数组中的所有字段指定一个值。但无论我尝试了什么,Matlab都会返回错误消息,而不是默默地假设,如果我想分配一个大小为
[1x1]
的元素,它应该分配给所有字段。如果我能简单地说,例如:

my_array.foo = pi;
??? Incorrect number of right hand side elements in dot name assignment.
Missing [] around left hand side is a likely cause.
那么,如何将单个值分配给结构数组中的所有字段?

您可以使用以下方法解决此问题:

my_array(1000).foo = [];
[my_array.foo] =deal(pi);
但是,请注意,第二行中的方括号是临时将逗号分隔的列表
my_array.foo
转换为向量所必需的