フィルターのクリア

creating a structure in for loop

10 ビュー (過去 30 日間)
jinang patel
jinang patel 2019 年 11 月 22 日
編集済み: Stephen23 2020 年 4 月 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 Center および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by