How to assign values to a struct array with fields?

77 次查看(过去 30 天)
Is there any way to write down a one-line script for assigning values to a struct array with fields?
x(1).a=1; x(2).a=2;
I'd like to change each value to 10 and 20 respectively. (I mean x(1).a=10, x(2).a=20) [x.a]=[10 20]; <- This causes an error.

采纳的回答

Vandana Rajan
Vandana Rajan 2017-1-16
编辑:madhan ravi 2019-6-4
Hi,
>> x = struct('a',{10,20});
This will create x(1).a = 10 and x(2).a = 20
To modify an already existing structure array,
>> new_val = num2cell([10,20]);
>> [x.a] = new_val{:};
Please see the following link
  2 个评论
SeaMoon Kim
SeaMoon Kim 2017-1-16
Thanks for your comment, Vandana. It works perfectrly! But I found that there is no way to assign struct array in one line. :-(

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Structures 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by