Create double workspace variable from Table
3 次查看(过去 30 天)
显示 更早的评论
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:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/529839/image.jpeg)
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 个评论
Stephen23
2021-2-24
编辑:Stephen23
2021-2-24
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?
回答(1 个)
Mahesh Taparia
2021-2-27
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!
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!