How can I use a loop to store a table in separate arrays?
1 次查看(过去 30 天)
显示 更早的评论
Hi all,
I've got a table [35040x29 table] and I want to create separate arrays so I'll get a [35040x1] format
In the following code I did it manually, but I want to use a loop to create the separate arrays in a much faster way.
house_1_U = table1.H01U_kWh;
house_1_G = table1.H01G_kWh;
house_2_U = table1.H02G_kWh;
house_2_G = table1.H02U_kWh;
Thanks in advance!
Juliette
2 个评论
采纳的回答
Adam Danz
2020-3-24
编辑:Adam Danz
2020-3-24
The best approach is to not break apart the table and use indexing instead. Tables are neat, tidy, and they keep the data together rather than scattering the data between several variables. Instead of using house_1_G you could just use table1.H01G_kWh.
If you must break apart the table, you could put each column into a cell array using the line below.
c = arrayfun(@(x){table1(:,x)}, 1:size(table1,2));
Then, to access column 2,
c{2}
Avoid putting each column of the table into a separate variables as the demo shows in your question. This requires dynamic variable naming which is a really bad form of programming and causes many problems.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrices and Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!