Earthquake/analysis_corr.m

52 lines
2.0 KiB
Matlab

function param=analysis_corr(param)
%% By L_DelOff
% считает корреляционные матрицы по всем измерениям по одному катаклизму
load(param.filename_report,'report');
R=[1000 10^(0.43*param.M)];
for i=1:length(R)
index=[];
for j=1:length(report.data)
if report.data(j).R==R(i)
index=[index j];
end
end
for j=1:length(index)
corr_table(i).RPA_HHeden{j+1,1}=['F-',num2str(report.data(index(j)).N_sat)];
corr_table(i).RPA_HHeden{1,j+1}=corr_table(i).RPA_HHeden{j+1,1};
corr_table(i).RPA_O2den=corr_table(i).RPA_HHeden;
corr_table(i).EP_Eden=corr_table(i).RPA_HHeden;
corr_table(i).EP_Etemp=corr_table(i).RPA_HHeden;
corr_table(i).R=R(i);
end
for j=1:length(index)
for k=j:length(index)
a=report.data(index(j)).RPA_HHeden;
b=report.data(index(k)).RPA_HHeden;
Mc=corrcoef(a,b,'Row','pairwise');
corr_table(i).RPA_HHeden{k+1,j+1}=num2str(Mc(1,2));
corr_table(i).RPA_HHeden{j+1,k+1}=num2str(Mc(2,1));
a=report.data(index(j)).RPA_O2den;
b=report.data(index(k)).RPA_O2den;
Mc=corrcoef(a,b,'Row','pairwise');
corr_table(i).RPA_O2den{k+1,j+1}=num2str(Mc(1,2));
corr_table(i).RPA_O2den{j+1,k+1}=num2str(Mc(2,1));
a=report.data(index(j)).EP_Eden;
b=report.data(index(k)).EP_Eden;
Mc=corrcoef(a,b,'Row','pairwise');
corr_table(i).EP_Eden{k+1,j+1}=num2str(Mc(1,2));
corr_table(i).EP_Eden{j+1,k+1}=num2str(Mc(2,1));
a=report.data(index(j)).EP_Etemp;
b=report.data(index(k)).EP_Etemp;
Mc=corrcoef(a,b,'Row','pairwise');
corr_table(i).EP_Etemp{k+1,j+1}=num2str(Mc(1,2));
corr_table(i).EP_Etemp{j+1,k+1}=num2str(Mc(2,1));
end
end
end
report.corr_table=corr_table;
param.report=report;
save(param.filename_report,'report');
end