creating a structure in for loop

6 次查看(过去 30 天)
Hello,
Is it possible to create a structure in a for loop
field={'name1','name2'}
for i=1:2
structure.(field{i})=value
end
Output:
structure.name1=value
structure.name2=value
Thanks
Jinang
  2 个评论
Ruger28
Ruger28 2019-11-22
Please, use the code format.
What are you having issues with? This will work just fine.
jinang patel
jinang patel 2019-11-22
hey,
a={'see','why'}
KPI={'L','L2','L3'}
struc.a{1}.KPI{1}=5
Output
"struc =
struct with fields:
a: {[1×1 struct]}"
I would expect
struct.see.L=5

请先登录,再进行评论。

采纳的回答

Stephen23
Stephen23 2019-11-22
Use the syntax shown in the MATLAB documentation:
>> a = {'see','why'};
>> KPI = {'L','L2','L3'};
>> S.(a{1}).(KPI{1}) = 5;
>> S.see.L
ans = 5
Read more:
  2 个评论
jinang patel
jinang patel 2020-4-29
hello Stephen,
I am trying to assing value to each field name, however this is not possible since assign value to 1st field name limits the structure. Is there a way to assign value to individual fields?
a = {'see','why'};
KPI = {'L','L2','L3'};
S.(a{1})=6;
S.(a{1}).(KPI{1}) = 5;
Output
S.see=6;
S.see.L=5;
Stephen23
Stephen23 2020-4-29
编辑:Stephen23 2020-4-30
That is not possible. A field contains one array, i.e. the field can contain either a numeric array or another structure array, but it cannot simultaneously contain both.

请先登录,再进行评论。

更多回答(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