我需要将Excel电子表格中的某些列导入Matlab,并将结果保存在数组中。
例如,假设我有一个3x1单元格数组,其元素是'USD'
,'EUR'
和'GBP'
等字符串。
如果我想从网络共享中的3个单独的电子表格导入数据,并将每个电子表格中的数据分别存储在名为'InitialUSD'
,'InitialEUR'
和'InitialGBP'
的数组中。
关于如何将数组名称链接到单元格数组中的值的任何指导?
答案 0 :(得分:3)
你问的是什么How can I create variables A1, A2,...,A10 in a loop?然后,答案是不要这样做......你可以做这样的事情:
for k=1:3
InitialUSD{k} = xlsread (%spreadsheet nb. k%);
end
假设您使用xlsread
从Excel导入数据。将%spreadsheet nb. k%
替换为xlsread
函数的正确参数。
答案 1 :(得分:3)
你可能想要这样的东西:
currencies = {'USD' 'EUR' 'GBP' };
for index=1:length(currencies)
assignin('caller',['Initial' currencies{index}],1:index);
end
在这个例子中,我为变量分配了一个向量(1:index),但显然在你的情况下你会分配excel数据(可能是你用xlsread读的)。
答案 2 :(得分:1)
我认为这是一种直截了当的方式:
通过这种方式,您可以得到一个名称列表,以及一个具有相同顺序匹配数据的数组。
我总是建议这样做,而不是给出变量名称。