how to extract all variables from a struct
古いコメントを表示

Hi, I wanted to extract all the variables from the struct without having to manually type the headers. In short I want to dissolve the entire struct to differnt variables with their individual header names as the variable name.
Many thanks in Advance
回答 (4 件)
Peter Jarosi
2019 年 7 月 30 日
編集済み: Peter Jarosi
2019 年 7 月 30 日
I agree with Stephen but if you want a quick solution using an ugly trick:
v = fieldnames(data_table);
for x = 1 : length(v)
myVar = data_table.(v{x})
end
or a little bit less ugly:
for v = fieldnames(data_table)
myVar = data_table.(v{1})
end
3 件のコメント
@Peter Jarosi: sadly our good advice was ignored. Sadly someone even voted for the anti-pattern eval answer.
Peter Jarosi
2019 年 7 月 30 日
Peter Jarosi
2019 年 7 月 30 日
2 件のコメント
"i had to use eval"
I doubt that you "had to use eval". I have written thousands of lines of code and imported thousands of data files of many different formats, and yet I have never needed to use eval.
You just designed your code (or data) badly, such that you force yourself into writing slow, buggy, complex, obfuscated code that is hard to debug:
Jan
2019 年 7 月 30 日
Using eval is indeed a very bad idea.
カテゴリ
ヘルプ センター および File Exchange で Variables についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!