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 Kommentare

Stephen23
Stephen23 am 8 Mär. 2019
Bearbeitet: Stephen23 am 8 Mär. 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.

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Gabor
Gabor am 4 Mär. 2019

1 Stimme

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 Kommentar

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

Melden Sie sich an, um zu kommentieren.

Kategorien

Produkte

Version

R2017a

Gefragt:

am 4 Mär. 2019

Kommentiert:

am 3 Jun. 2020

Community Treasure Hunt

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

Start Hunting!

Translated by