📄 analysis.m
字号:
%中间变量的计算值可以在matlab主窗体中的workspace中观察,也可以直接在变量赋值的结尾
%不加分号,还可以另起一行,直接写变量名,不加分号,如下所示
% r
% p
% 绘制散点图
clear;
%弹出对话框%%%
[FileName,pathName]=uigetfile('.xls');
[N,A]=xlsread(strcat(pathName,FileName),'sheet1');
Bj=N(:,6);
% N=xlsread(FileName);
% Tpy0=235;
% Tpy=N(:,8);
% deltaTpy=Tpy.-Tpy0;
% 排烟损失
% Npy=N(:,8);
Npy=N(:,8)./Bj;
Npy0=min(Npy)-0.1;
deltaNpy=Npy-Npy0;
lndeltaNpy=log(deltaNpy); %取 e未底的对数,自然对数
smqKsj=N(:,12);
smqCF=N(:,10);
%对应元素左除
smqKlx=smqKsj./smqCF;
delta_smqK=smqKlx-smqKsj;
lndelta_smqK=log(delta_smqK);
subplot(3,3,1);
plot(lndelta_smqK,lndeltaNpy,'g+');
subplot(3,3,4);
plot(smqCF,deltaNpy,'g+')
ltTsj=N(:,16);
ltCF=N(:,17);
%对应元素左除
ltTlx=ltTsj./ltCF;
delta_ltK=ltTlx-ltTsj;
lndelta_ltK=log(delta_ltK);
subplot(3,3,2);
plot(lndelta_ltK,lndeltaNpy,'r*');
subplot(3,3,5);
plot(ltCF,deltaNpy,'r*')
%原始数据,排烟温度与各受热面灰污状态非线性关联,用灰色关联分析
%数据生成,数据处理,见文献N941.5/1罗佑新,张龙庭,李敏著,灰色系统理论及其在机械工程中的应用,国防科技大学出版社,2001
y0=deltaNpy;
x10=delta_smqK;
x20=delta_ltK;
% subplot(3,3,7),plot(x1);
% subplot(3,3,8),plot(x2);
% subplot(3,3,9),plot(y);
%初值处理,x1,x2希望越大越好,y希望越小越好
maxx1=max(x10);minx1=min(x10);
maxx2=max(x20);minx2=min(x20);
maxy=max(y0);miny=min(y0);
x11=(maxx1-x10)/(maxx1-minx1);
x21=(maxx2-x20)/(maxx2-minx2);
y1=(y0-miny)/(maxy-miny);
%关联度计算
delta1=abs(y1-x11);
delta2=abs(y1-x21);
deltamax=max(max(delta1),max(delta2));
deltamin=min(min(delta1),min(delta2));
%等权关联
kc1=(deltamin+0.5*deltamax)./(delta1+0.5*deltamax);
kc2=(deltamin+0.5*deltamax)./(delta2+0.5*deltamax);
Rkc1=sum(kc1)/size(kc1,1)
Rkc2=sum(kc2)/size(kc2,1)
%取对数相关分析
y=lndeltaNpy;
x1=lndelta_smqK;
x2=lndelta_ltK;
% 把这三个向量组成三列的矩阵
pp=[x1,x2,y];
% 以下两种计算相关系数的结果是相同的
[r,p]=corrcoef(pp); %r,p分别是3X3的矩阵
ry1=r(3,1);
ry2=r(3,2);
r12=r(1,2);
% [Ry1,py1]=corrcoef(y,x1); %返回的两个参数还是2X2的矩阵
% [Ry2,py2]=corrcoef(y,x2);
% [Rx12,px12]=corrcoef(x1,x2);
%复相关系数,是与多因素整体之间的线性相关程度,而不能确切说明因变量与各自变量之间的相关程度
ry2_1=(ry2-ry1*r12)/sqrt((1-ry1^2)*(1-r12^2));
ry_12=sqrt(1-(1-ry1^2)*(1-ry2_1^2));
%复相关系数的F检验
Fchecking=ry_12^2*(1440-2-1)/(1-ry_12^2)/2;
%偏相关系数
ry2_1=(ry2-ry1*r12)/sqrt((1-ry1^2)*(1-r12^2))
ry1_2=(ry1-ry2*r12)/sqrt((1-ry2^2)*(1-r12^2))
%偏相关系数的t检验
tcheckingy2=ry2_1*sqrt(1440-2-1)/sqrt(1-ry2_1^2)
tcheckingy1=ry1_2*sqrt(1440-2-1)/sqrt(1-ry1_2^2)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -