Create double workspace variable from Table

7 visualizaciones (últimos 30 días)
Olumide Ayeni
Olumide Ayeni el 24 de Feb. de 2021
Respondida: Mahesh Taparia el 27 de Feb. de 2021
Hi.
I have a table in my workspace. I would like to create new workspace variable of type - double, with the heading of each table column as the variable name.
For example:
Assuming the table is already loaded into my workspace, I would like a script that automatically creates the variables: A, B, C with the data under the respective columns as values; and the type of the created workspace variable should be double.
Note: I want the script such that it reads the variable names A, B, C dynamically, cos these names could vary in the project.
Thanks
  2 comentarios
Stephen23
Stephen23 el 24 de Feb. de 2021
Editada: Stephen23 el 24 de Feb. de 2021
What is the reason that you cannot access the data directly from within the table?
"I want the script such that it reads the variable names A, B, C dynamically, cos these names could vary in the project."
If the names could vary, then magically defining them as variable names will make it difficult to keep track of them (as well as making your code slow, complex, and inefficient). In contrast, keeping them in the table makes it trivial to know what names have been supplied (and very efficient to process them).
What is the reason that you want to introduce latent bugs into your code for no obvious benefit?
Olumide Ayeni
Olumide Ayeni el 24 de Feb. de 2021
Thanks for your response.
I have a simulink model that gets inputs from the workspace with the 'fromWorkspace' block, which won't take the data from the table.

Iniciar sesión para comentar.

Respuestas (1)

Mahesh Taparia
Mahesh Taparia el 27 de Feb. de 2021
Hi
You can always access the variable name using the table object. Consider an example below
Height = [71;69;64;67;64];
Weight = [176;163;131;133;119];
T = table(Height,Weight);
tableVar = T.Properties.VariableNames;
The tableVar stores the variable name in a cell array, you can access the value by calling the respective variable from the table object. For example:
>> T.(tableVar{1,1})
ans =
71
69
64
67
64
Hope it will help!

Categorías

Más información sobre Workspace Variables and MAT-Files en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by