将excel中的date转换为多个字段中的matlab

我有一个结构(后备母羊)在matlab中有很多字段(gilt_name)。 该结构是从Excel中导入的工作簿,每个字段对应于该工作簿中的工作表。 每张工作表是时间序列的date和相应的后备母猪的价格。 我将Excel中的date转换为string,然后按照何时从Excel文件转换date中的说明导入到matlab中。 但是,如何在matlab中同时将这种转换应用到许多领域呢? 我有数百数组的数据对应于每个gilt_name,这将节省我很多时间。 非常感谢。

比方说,我们有一个Excel电子表格,其中包含三张表,每张包含一系列date和一些相应的值:

高强

考虑下面的代码将数据导入到MATLAB中:

%# for each of the three sheets data = cell(3,1); for i=1:3 %# read the sheet as unprocessed data (both text and numeric) [~,~,raw] = xlsread('data.xlsx', i); %# parse strings as serial dates and combine into a matrix data{i} = [datenum(raw(:,1),'dd/mm/yyyy') cell2mat(raw(:,2))]; end 

现在单元arraysdata中的每个单元都具有第i个单元的数据。 date表示为连续date编号。 例如,我们可以将第一个时间序列绘制为:

 plot(data{1}(:,1), data{1}(:,2)) datetick('x', 'dd', 'keepticks') xlabel('days'), ylabel('prices') 

截图

嘿,你可以列出你的字段名称

 names = fieldnames(gilts) 

然后,你需要做的就是循环访问名称variables的for循环通过增量计数器。

例如,

 names = fieldnames(gilts); for i = 1 : length(gilts), n = [gilts(i,1). 'names(i)' (:,:)]; eval(n); % and do what you need to do end 

所以这样你就可以将“姓名”中的string编入索引字段中。