How to Store Variable Names for Struct Titles
11 ビュー (過去 30 日間)
表示 古いコメント
Hello Community,
I have a script to run various times that when the functions are used outputs a table and other data. Each time I run this, I would like to record the table as a new line in a struct, so I end up with several struct arrays with different data. I have this part covered - but what I am struggling with is getting the struct array to be named as I want ie, I want the struct to be named after the variables that are read in to a particular function - so perhaps this needs to be written as an extra line in the specific function?
The function is called: PODF The struct is called: ORMRes
For example, I call the function as:
[ORM, pStats, T] = PODF(CA, FCON, DF)
Where T is the table. I then write to the struct as follows:
ORMRes.(????)=T(:,:)
Which with a proper name in for the ????'s writes the table in to the struct, but, I want to be able to name the table recorded in the struct, the names of the variables that were used in the PODF function, in this example 'CA', 'FCON', 'DF'
Could anyone advise on the step that I am missing please? I have tried to use fullfile - but no luck. Or, if you think I am just going the wrong way about storing this data, then please just let me know your suggestions for improvement.
Thanks for your help.
Regards,
10B.
採用された回答
sam0037
2016 年 4 月 13 日
Hi,
To dynamically name the fields of struct depending on the name of the inputs to the function, you can use the ' inputname ' function to get the names of the input. To illustrate this I have attached a script and a function file named 'PODF_Script.m' and 'PODF.m' respectively. The PODF function returns the name of the field to be used in the struct depending on the input names. Finally generate the field names from variables using this link .
その他の回答 (0 件)
参考
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!