How to Store Variable Names for Struct Titles
    9 views (last 30 days)
  
       Show older comments
    
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.
2 Comments
  Geoff Hayes
      
      
 on 10 Apr 2016
				
      Edited: Geoff Hayes
      
      
 on 10 Apr 2016
  
			10B - to be clear, you want to dynamically assign the name of the struct member based on the inputs used? So if I were to access this struct as
 ORMRes.CA_FCON_DF
then I would get the T that is returned from PODF?
Accepted Answer
  sam0037
    
 on 13 Apr 2016
        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 .
More Answers (0)
See Also
Categories
				Find more on Structures in Help Center and File Exchange
			
	Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!