How to create a table name using a string variable?

Hi,
How can I use a string variable for a table name?
eg.:
-----------------------------
T = 'ThisShouldBeMyTableName';
VariableNames = {'StartCash','EndDate'};
T = table(input_values.StartCash, input_values.EndDate, 'VariableNames',VariableNames);
-----------------------------
The table which is create should be named "ThisShouldBeMyTableName" not "T".
Thank you

3 Commenti

Stephen23
Stephen23 il 8 Mar 2019
Modificato: Stephen23 il 8 Mar 2019
Dynamically accessing variables names is one way that beginners force themselves into writing slow, complex, buggy code that is hard to debug. Read this to know some of the reasons why:
Use indexing. Indexing is simple, neat, and very efficient. Unlike what you are trying to do.
@stephen Can you please elaborate what you mean by indexing? How exactly do I use this indexing?
Mustafa Calcuttawala: please read the material at the link that Stephen posted. It shows a number of different possibilities.

Accedi per commentare.

 Risposta accettata

Gabor
Gabor il 4 Mar 2019
I guess I will just use a cell which I will be store the the variable for the "name that should be" and the table itself too...
Thank you

1 Commento

Or you could create a struct array with one field that contains your table and name that field using either the struct function or dynamic field names.
thefield = 'snowstorm';
data = magic(4);
structOfTables = struct(thefield, data)
structOfTables2.(thefield) = data

Accedi per commentare.

Prodotti

Release

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by