第四题乙醇偶合制备 C4 烯烃

%%%%%%%%%%第四题%%%%%%%%%%%
%数据预处理
%缺失值的检测
clc, clear
a=readmatrix('F:\数学建模\培训模拟\研究生组题目四\2021-B\附件一的数据.xlsx');
A = ismissing(a) %显示1为缺失值
[m,n]=size(A)
sumj=sum(A)
j=sumj./m %缺失值所占的比列

clc, clear
a=readmatrix('F:\数学建模\培训模拟\研究生组题目四\2021-B\附件二的数据.xlsx');
A = ismissing(a) %显示1为缺失值
[m,n]=size(A)
sumj=sum(A)
j=sumj./m %缺失值所占的比列

%异常值检测-箱型图
clc, clear
a=readmatrix('F:\数学建模\培训模拟\研究生组题目四\2021-B\附件一的数据.xlsx');
boxplot(a)
set(gca,'XTickLabel',{'Ⅰ','Ⅱ','Ⅲ','Ⅳ','Ⅴ','Ⅵ','Ⅶ','Ⅷ'});

clc, clear
a=readmatrix('F:\数学建模\培训模拟\研究生组题目四\2021-B\附件二的数据.xlsx');
boxplot(a)
set(gca,'XTickLabel',{'Ⅰ','Ⅱ','Ⅲ','Ⅳ','Ⅴ','Ⅵ','Ⅶ','Ⅷ'});


%第一题第一问
%单因素方差分析

clc,clear
a=readmatrix('F:\数学建模\培训模拟\研究生组题目四\1单因素分析.xlsx','Sheet','乙醇转化率','Range','A2')
[p,t,st]=anova1(a)
Fa=finv(0.95,t{2,3},t{3,3})

clc,clear
a=readmatrix('F:\数学建模\培训模拟\研究生组题目四\1单因素分析.xlsx','Sheet','C4烯烃选择性','Range','A2')
[p,t,st]=anova1(a)
Fa=finv(0.95,t{2,3},t{3,3})

%第一题第二问
%相关性分析
clc,clear
a=readmatrix('F:\数学建模\培训模拟\研究生组题目四\2021-B\附件二的数据.xlsx');
a=zscore(a)
x=a(:,2:end)
y=a(:,1)
[rho,pval] = corr(y,x,'Type','Spearman')

%不同时间显著指标的
clc,clear
a=readmatrix('F:\数学建模\培训模拟\研究生组题目四\2021-B\附件二的数据.xlsx');
y=a(:,1)
x1=a(:,2)
x2=a(:,3)
x4=a(:,5)    
x5=a(:,6)
subplot(2,2,1);
plot(y,x1)
title('乙醇转化率与时间关系')
xlabel('时间/min')
ylabel('转化率/%')
grid
subplot(2,2,2);
plot(y,x2)
title('乙烯选择性与时间关系')
xlabel('时间/min')
ylabel('乙烯选择性/%')
grid
subplot(2,2,3);
plot(y,x4)
title('乙醛选择性与时间关系')
xlabel('时间/min')
ylabel('乙醛选择性/%')
grid
subplot(2,2,4);
plot(y,x5)
title('碳数为4-12脂肪醇与时间关系')
xlabel('时间/min')
ylabel('脂肪醇选择性/%')
grid 

%第二题
%熵权法
clc,clear
x=readmatrix("F:\数学建模\培训模拟\研究生组题目四\2021-B\第二题数据.xlsx")
[n,m]=size(x)
p=x./sum(x)
e=-sum(p.*log(p))/log(n)
g=1-e
w=g/sum(g)
% s=sum(w.*p,2)
s1=w*p'
[ss,ind1]=sort(s1,'descend')
ind2(ind1)=1:n
writematrix([1:n;s1;ind2],'F:\数学建模\培训模拟\研究生组题目四\2021-B\第二题答案.xlsx')

%第三题,做一个拟合
clc,clear
x=readmatrix("F:\数学建模\培训模拟\研究生组题目四\2021-B\第三题数据.xlsx")
a=zscore(x)
X=a(:,1:end-1)
Y=a(:,end)
c=regstats(Y,X) %多元线性回归诊断
beta=c.beta  %提出回归系数
F=c.fstat %f: 45.7526 计算F统计量的多个相关指标
m=5;n=length(Y); %变量个数m,样本点个数n
Fa=finv(0.95,m,n-m-1) %Fa =2.3026 查表计算上alpha分位数
T=c.tstat.t
%   提出4个t统计量的值0.0000
% -1.7163
%     0.8651
%    -1.0330
%     0.0944
%    13.5146
Ta=tinv(0.975,n-m-1) %ta=1.9833 计算上alpha/2分位数
fitlm(X,Y)

%RBF神经网络
clc,clear
a=readmatrix("F:\数学建模\培训模拟\研究生组题目四\2021-B\第三题数据.xlsx")
a=a'
p=a([1:5],[1:end-1]);
[PN,PS1]=mapminmax(p)
T=a(6,[1:end-1]);
[TN,PS2]=mapminmax(T)
net1=newrb(PN,TN)
%测试
x=a([1:5],end)
xn=mapminmax('apply',x,PS1)
yn1=sim(net1,xn)
y1=mapminmax('reverse',yn1,PS2)
deltal=abs(a(end,end)-y1)/a(end,end)
%查看效果
totaly = sim(net1,PN)
totaly=mapminmax('reverse',totaly,PS2)
actValue=a(6,[1:end-1])
plot(1:108,totaly,1:108,actValue)

%结果
b=readmatrix('F:\数学建模\培训模拟\研究生组题目四\2021-B\第三题数据.xlsx','Sheet','Sheet3','Range','A1')
b=b'
resultx=b(1:5,:)
resultx=mapminmax('apply',resultx,PS1)
resulty=sim(net1,resultx)
resulty=mapminmax('reverse',resulty,PS2)
plot(1:70,resulty)
%%%%%%%数学建模第四题结束%%%%%%%%%%
 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值