2

我需要将 Excel 电子表格中的某些列导入 Matlab 并将结果保存在数组中。

例如,假设我有一个 3x1 元胞数组,元素是字符串,如'USD','EUR''GBP'.

如果我想从网络共享上的 3 个单独的电子表格中导入数据,并将每个电子表格中的数据分别存储在名为和'InitialUSD'的数组中。'InitialEUR''InitialGBP'

关于如何将数组名称链接到单元格数组中的值的任何指导?

4

3 回答 3

3

你可能想要这样的东西:

currencies = {'USD' 'EUR' 'GBP' };
for index=1:length(currencies)
    assignin('caller',['Initial' currencies{index}],1:index);
end

在示例中,我为变量分配了一个向量(1:index),但显然在您的情况下,您将分配 excel 数据(大概是您正在使用 xlsread 阅读)。

于 2013-09-12T10:21:09.983 回答
3

您要问的是如何在循环中创建变量 A1、A2、...、A10?然后,答案是不要这样做......但是你可以这样做:

for k=1:3
   InitialUSD{k} = xlsread (%spreadsheet nb. k%);
end

假设您正在使用xlsread从 Excel 导入数据。替换%spreadsheet nb. k%xlsread函数的正确参数。

于 2013-09-12T09:56:52.237 回答
1

我认为这是一种简单的方法:

  1. 从excel文件中读取所有内容
  2. 将标题行中的信息与您感兴趣的信息进行比较
  3. 在此基础上,选择所需的数据。

这样,您最终可以得到一个名称列表,以及一个具有相同顺序的匹配数据的数组。

我总是建议这样做,而不是自己给变量名称。

于 2013-09-12T10:21:36.997 回答