如何用循环的名字创buildvariables

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

例如,假设我有一个3×1单元arrays,元素是'USD''EUR''GBP'等string。

如果我想从networking共享上的3个独立的电子表格中导入数据,并将数据分别存储在名为'InitialUSD''InitialEUR''InitialGBP'

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

你可能想要这样的东西:

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

在这个例子中,我给variables赋了一个向量(1:index),但显然在你的情况下,你会分配excel数据(大概是你用xlsread读的)。

你在问什么如何在循环中创buildvariablesA1,A2,…,A10? 那么,答案是不要这样做…然而,你可以做这样的事情:

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

假设您使用xlsread从Excel中导入数据。 replace%spreadsheet nb. k% %spreadsheet nb. k%通过xlsread函数的正确参数。

我认为这是一个简单的方法来做到这一点:

  1. 从excel文件中读取所有内容
  2. 比较标题行中的信息和你感兴趣的信息
  3. 基于此,select您想要的数据。

用这种方法,你可以得到一个名字列表,以及一个具有匹配数据的数组。

我总是build议这个给variables名称本身。