Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 找出每小时测量的时间序列的相关性_Matlab_Correlation - Fatal编程技术网

Matlab 找出每小时测量的时间序列的相关性

Matlab 找出每小时测量的时间序列的相关性,matlab,correlation,Matlab,Correlation,我举了以下例子: DateTime=datestr(datenum('2011-01-01 00:00','yyyy-mm-dd HH:MM'):1/24:... datenum('2011-12-31 23:00','yyyy-mm-dd HH:MM'),... 'yyyy-mm-dd HH:MM'); Data = [datenum(DateTime) - datenum(2011,0,0),rand(13,length(DateTime(:,1)))']; 此数据在第一列

我举了以下例子:

DateTime=datestr(datenum('2011-01-01 00:00','yyyy-mm-dd HH:MM'):1/24:...
    datenum('2011-12-31 23:00','yyyy-mm-dd HH:MM'),...
    'yyyy-mm-dd HH:MM');
Data = [datenum(DateTime) - datenum(2011,0,0),rand(13,length(DateTime(:,1)))'];
此数据在第一列中包含一年中的日期,在第二列中包含水温(2:end-1),在最后一列中包含气温。我想计算空气温度(最后一列)和每一列温度之间的相关性。我可以这样做:

R = arrayfun(@(i)nonzeros(tril(corrcoef(Data(:,i),Data(:,end)),-1)),2:size(Data,2)-1,'un',0);
接下来,我将尝试为每一天(即每24行)生成相关值矩阵。因此,我的问题是,我如何计算每一列温度与上述空气温度之间的相关性,但以“数据(:,I)”表示的每一天。结果应包括365行(天)和12列(温度)

此外,我可以通过以下方式找到每天的行号:

[a,b,b] = unique(floor(Data(:,1)));
请尝试以下操作:

dayIdx = floor(Data(:,1));
R = zeros(365,12);
for i=1:365
    c = corrcoef( Data(dayIdx==i,:) ); %# corr between all variables for one day
    R(i,:) = c(end,2:end-1);    %# extract those between water temps and air temp
end