2021年国赛高教杯数学建模B题乙醇偶合制备C4烯烃解题全过程文档及程序

news2025/1/16 20:57:26

2021年国赛高教杯数学建模

B题 乙醇偶合制备C4烯烃

原题再现

  C4 烯烃广泛应用于化工产品及医药的生产,乙醇是生产制备 C4 烯烃的原料。在制备过程中,催化剂组合(即:Co 负载量、Co/SiO2 和 HAP 装料比、乙醇浓度的组合)与温度对 C4 烯烃的选择性和 C4 烯烃收率将产生影响(名词解释见附录)。因此通过对催化剂组合设计,探索乙醇催化偶合制备 C4 烯烃的工艺条件具有非常重要的意义和价值。
  某化工实验室针对不同催化剂在不同温度下做了一系列实验,结果如附件 1 和附件 2 所示。请通过数学建模完成下列问题:
  (1) 对附件 1 中每种催化剂组合,分别研究乙醇转化率、C4 烯烃的选择性与温度的关系,并对附件 2 中 350 度时给定的催化剂组合在一次实验不同时间的测试结果进行分析。
  (2) 探讨不同催化剂组合及温度对乙醇转化率以及 C4 烯烃选择性大小的影响。
  (3) 如何选择催化剂组合与温度,使得在相同实验条件下 C4 烯烃收率尽可能高。若使温度低于 350 度,又如何选择催化剂组合与温度,使得 C4 烯烃收率尽可能高。
  (4) 如果允许再增加 5 次实验,应如何设计,并给出详细理由。

整体求解过程概述(摘要)

  本文主要研究乙醇偶合制备 C4 烯烃时,不同催化剂组合及温度对乙醇转化率和 C4 烯经选择性的影响、C4 烯经收率最高时的催化剂组合与温度最优化的实验设计问题。
  针对问题一,分析附件 1 中每种催化剂组合数据规律,分别建立乙醇转化率、C4 烯烃选择性与温度之间的一元二次回归模型。基于最小二乘法,运用 Matlab 中的 polyfit()和 regress()函数对该模型进行求解,得到回归系数,然后通过判别系数 R^2 判断模型是否准确,如果判别系数小于 0.6,则认为该模型不准确,需要进行进一步通过剔除离总体偏差较大的数据与优化方程模型进行模型的优化,进而通过分析所得曲线的变化规律得到结论:在一定范围内随着温度升高,乙醇的转化率与 C4 烯怪的选择性均会增高,但若温度过高,则 C4 烯经的选择性可能会降低;对附件 2 中的数据进行对比分析,并结合化学反应机理得到结论:乙醇转化率随着时间增大逐渐减小,C4 烯烃选择性随时间变化的趋势较为平稳,随着反应时间增加,各产物的选择性都趋于平稳,即化学反应达到平衡状态。
  针对问题二,需要分析不同催化剂组合及温度对乙醇转化率和 C4 烯烃选择性大小的影响。首先,用控制变量的方法对附件 1 中的数据进行分类对比,通过定性分析得到相应结论。得到: Co 负载量对 C4 烯烃选择性的影响最大,Co/SiO2 和 HAP 装料比对 C4 烯烃选择性的影响最小。最后,结合实际考虑因素间交互作用,分别建立 C4 烯烃选择性、乙醇转化率与各因素及其交互作用的多元线性回归模型,通过对问题二进行比较分析法得出:Co 负载量与Co/SiO2 和 HAP 装料比共同作用对乙醇转化率影响最大,温度对 C4 烯烃的选择性影响最大。
  针对问题三,首先在问题二的基础上进行数据预处理,除去 A11 组有石英砂无 HAP 的一组数据并在问题二多元回归模型的基础上,给出 C4 烯烃收率的函数表达式。其次以温度、Co/SiO2 和 HAP 的质量和、乙醇浓度、Co 负载量作为决策变量,以最高 C4 烯烃收率作为目标函数,以各个影响因素的取值范围作为约束条件,建立 C4 烯烃收率最高的优化模型。然后基于迭代算法,利用最小二乘法拟合,然后运用牛顿迭代法对该模型求解,然后用选择排序法得到: C4 烯烃最优收率为 53%。再改变温度约束条件,使得最高温度不超过 350 度,得到此时 C4 烯烃最优收率为 12%。
  针对问题四,结合前三问的分析结论,通过过前面问题的研究不难得出当温度达到一定时候,而对前三问的分析可以明显得出当温度为一范围内,温度越高 C4 烯烃转化率反而越低,C4 烯烃收率将会显著下降到一个最低点,而过了这一段范围后,C4 烯烃转率又随着温度增高而增高所以这里建立方程模型得出这个最低点与其变化规律,所以通过其他条件不变,温度变化,得出 C4 烯烃收率是否与温度的是否成二次曲线模型变化的二次函数方程模型。

模型假设:

  1. 忽略外界因素对实验的影响
  2. 忽略有石英砂无 HAP 对实验的影响
  3. 环境温度和压强对实验的进行没有影响
  4. 实验设备完好不会导致实验结果出错或实验失败
  5. 判别系数 R^2>0.6 认为拟合有效

问题分析:

  问题一的分析
  问题一分别分析温度对乙醇转化率、C4 烯烃选择性的关系。问题一的第一部分,首先对附件 1 画出每种催化剂组合的乙醇转化率、C4 烯烃选择性与温度的散点图,在此基础上我们初步得出乙醇转化率总体上随着温度的升高而增大的结论,但是某些数值在增加到某个温度时会有所下降,我们需要对异常的点进行处理,然后进行分类。如果乙醇转化率、C4 烯烃选择性与温度具有一定的线性关系,则建立数学模型利用MATLAB 求出相关系数。
  问题一的第二部分,我们根据图像拟合对化学反应的进程和产物进行分析,得出在 350°时乙醇转化率、C4 烯烃选择性、C4 烯烃收率等指标随时间的变化规律,分析出反应过程中的产物量比及反应的平衡时间。
  问题二的分析
  问题二是分析不同催化剂组合及温度对乙醇转化率和 C4 烯烃选择性大小的影响。首先我们通过控制变量的方法,对 20 组试验数据进行组合对照,进行直观的定量分析。控制自变量 Co 负载量(Co/SiO2 的重量之比)、Co/SiO2 和 HAP 装料比Co/SiO2 和 HAP 质量之和,乙醇浓度、温度对因变量乙醇转化率、C4 烯烃选择性的影响。其间我们需要发现自变量不同催化剂组合、温度之间的重要因素和次要因素,并在定性分析的基础上进行定量分析,确定变量之间的关系,找出合适的数学表达式。
  问题三的分析
  基于问题二的模型建立,首先对数据进行预处理,去除 A11 组有石英砂无 HAP 这一组的实验数据,对 C4 烯烃收率的函数表达式以温度、Co/SiO2 和 HAP 的质量和、乙醇浓度、Co负载量,Co/SiO2 和 HAP 装料比作为决策变量,以最高 C4 烯烃收率作为目标函数,以各个影响因素的取值范围作为约束条件,建立 C4 烯烃收率最高的优化模型。
  问题四的分析
  综合考虑问题一、二、三,对于附件中没有改变某个实验条件可能使得实验结果更优的进行实验,通过对前三问的分析可以明显得出当温度为一范围内,温度越高 C4 烯烃转化率反而越低,C4 烯烃收率将会显著下降到一个最低点,而过了这一段范围后,C4 烯烃转率又随着温度增高而增高。但是对于因缺少数据而使得某个结论缺服说服力的进行实验。

模型的建立与求解整体论文缩略图

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

程序代码:(代码和文档not free)

%对数据进行导入
%导入附件 1 中的数据
%wendu - 温度 yczhl - 乙醇转化率 wyl - 对温度与乙醇转化率进行拟合后得到的函数
wenduA1=xlsread("C:\Users\ASUS\Desktop\ 数 学 建 模 \ 题 目 \B\ 附 件 1.xlsx"," 性 能 数 据 表
","C2:C6");
yczhlA1=xlsread("C:\Users\ASUS\Desktop\数学建模\题目\B\附件 1.xlsx","性能数据表","D2:D6");
wenduA2=xlsread("C:\Users\ASUS\Desktop\ 数 学 建 模 \ 题 目 \B\ 附 件 1.xlsx"," 性 能 数 据 表
","C7:C11");
yczhlA2=xlsread("C:\Users\ASUS\Desktop\ 数 学 建 模 \ 题 目 \B\ 附 件 1.xlsx"," 性能数据表
","D7:D11");
wenduA3=xlsread("C:\Users\ASUS\Desktop\ 数 学 建 模 \ 题 目 \B\ 附 件 1.xlsx"," 性 能 数 据 表
","C12:C18");
yczhlA3=xlsread("C:\Users\ASUS\Desktop\ 数 学 建 模 \ 题 目 \B\ 附 件 1.xlsx"," 性能数据表
","D12:D18");
wenduA4=xlsread("C:\Users\ASUS\Desktop\ 数 学 建 模 \ 题 目 \B\ 附 件 1.xlsx"," 性 能 数 据 表
","C19:C24");
yczhlA4=xlsread("C:\Users\ASUS\Desktop\ 数 学 建 模 \ 题 目 \B\ 附 件 1.xlsx"," 性能数据表
","D19:D24");
wenduA5=xlsread("C:\Users\ASUS\Desktop\ 数 学 建 模 \ 题 目 \B\ 附 件 1.xlsx"," 性 能 数 据 表
","C25:C30");
yczhlA5=xlsread("C:\Users\ASUS\Desktop\ 数 学 建 模 \ 题 目 \B\ 附 件 1.xlsx"," 性能数据表
","D25:D30");
wenduA6=xlsread("C:\Users\ASUS\Desktop\ 数 学 建 模 \ 题 目 \B\ 附 件 1.xlsx"," 性 能 数 据 表
","C31:C35");

%k 为拟合次数
k=3;
wyA1=polyfit(wenduA1,yczhlA1,k); %求出拟合参数
A1=vpa(poly2sym(wyA1),10);%求出曲线 %画出拟合曲线为
y1=polyval(wyA1,wenduA1);
plot(wenduA1,y1,wenduA1,yczhlA1,"*r");
hold on ;
wyA2=polyfit(wenduA2,yczhlA2,k);
A2=vpa(poly2sym(wyA2),10);%曲线为 
%画出拟合曲线为
y2=polyval(wyA2,wenduA2);
plot(wenduA2,y2,wenduA2,yczhlA2,"*r");
hold on 
wyA3=polyfit(wenduA3,yczhlA3,k);
A3=vpa(poly2sym(wyA3),10);%曲线为 
%画出拟合曲线为
y3=polyval(wyA3,wenduA3);
plot(wenduA3,y3,wenduA3,yczhlA3,"*r");
hold on ;
wyA4=polyfit(wenduA4,yczhlA4,k);
A4=vpa(poly2sym(wyA4),10);%曲线为 
%画出拟合曲线为
y4=polyval(wyA4,wenduA4);
plot(wenduA4,y4,wenduA4,yczhlA4,"*r");
hold on
wyA5=polyfit(wenduA5,yczhlA5,k);
A5=vpa(poly2sym(wyA5),10);%曲线为 
%画出拟合曲线为
y5=polyval(wyA5,wenduA5);
plot(wenduA5,y5,wenduA4,yczhlA5,"*r");
hold on
wyA6=polyfit(wenduA6,yczhlA6,k);
A6=vpa(poly2sym(wyA6),10);%曲线为 
%画出拟合曲线为
y6=polyval(wyA6,wenduA6);
plot(wenduA6,y6,wenduA6,yczhlA6,"*r");
hold on
wyA7=polyfit(wenduA7,yczhlA7,k);
A7=vpa(poly2sym(wyA7),10);%曲线为 
%画出拟合曲线为
y7=polyval(wyA7,wenduA7);
plot(wenduA7,y7,wenduA7,yczhlA7,"*r");
hold on
wyB7=polyfit(wenduB7,yczhlB7,k);
B7=vpa(poly2sym(wyB7),10);%曲线为 
%画出拟合曲线为
y21=polyval(wyB7,wenduB7);
plot(wenduB7,y21,wenduB7,yczhlB7,"*r");
 %{
legend("A1=0.3331893326*x - 84.08276818","A2=0.6629580734*x -
161.8909145","A3=0.4195648852*x - 95.88308918",...
 "A4=0.5817118467*x - 144.5709001","A5=0.4078621995*x -
97.62301858","A6=0.5015334253*x - 119.8325796",...
 "A7=0.3775367296*x - 74.26046445","A8=0.3396341323*x - 83.77607016", 
"A9=0.2491040369*x - 65.67280331",...
 "A10=0.1834135666*x - 49.64860852","A11=0.2067687555*x -
56.50163086","A12=0.2859331347*x - 74.81353909",...
 "A13=0.3359113498*x - 86.68673211","A14=0.3359113498*x -
86.68673211","B1=0.2794712209*x - 73.14252889",...
 "B2=0.2726886201*x - 70.9546115","B3=0.1313117907*x -
36.1563065","B4=0.2077582601*x - 56.81340574","B5=0.2715966155*x - 72.27286731",...
 "B6=0.3837143453*x - 100.0040718","B7=0.4197142857*x - 109.3428571");
%}
legend('A1','A2','A3','A4','A5','A6','A7','A8','A9','A10','A11','A12','A14','A14','B1','B2','B3','B4','B5','B
6','B7')
xlabel("温度");
ylabel("乙醇转化率");
title("温度-乙醇转化率拟合图")
 avgA1=(sum(yczhlA1))/length(yczhlA1);%乙醇转化率平均值
 totA1=sum((yczhlA1-avgA1).^2);
 resA1= double( sum(( subs(A1,wenduA1)-yczhlA1).^2));
R2A1=1-resA1/totA1;
 avgA2=(sum(yczhlA2))/length(yczhlA2);%乙醇转化率平均值
totA2=sum((yczhlA2-avgA2).^2);
 resA2= double(sum((subs(A2,wenduA2)-yczhlA2).^2));
R2A2=1-resA2/totA2;

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/626471.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JUC源码分析:通过ReentrantLock阅读AbstractQueuedSynchronizer源码

一、概述 ReentrantLock进行上锁的流程如下图所示,我们将按照下面的流程分析ReentrantLock上锁的流程,在此过程中阅读AbstractQueuedSynchronizer源码。 AQS 的数据结构如下图所示。 AQS大家还记得吗?最核心的是它的一个共享的int类型值叫做…

电脑自动关机是什么原因?如何解决?

案例:有时候我的电脑用着就突然关机,会导致一些没有保存的文件丢失。有没有小伙伴知道电脑为什么会自动关机?怎样做才能避免这个问题? 在使用电脑过程中,遇到电脑自动关机的问题是很常见的。当我们在进行重要任务时&a…

Netty核心源码剖析(四)

1.Netty心跳(heartbeat)服务源码剖析 1>.Netty作为一个网络框架,提供了诸多功能,比如编码解码等,Netty还提供了非常重要的一个服务–心跳机制heartbeat.通过心跳检查对方是否有效,这是RPC框架中是必不可少的功能.下面我们分析一下Netty内部心跳服务源码实现; 2>.Netty提…

电磁仿真需要牢记的内功心法

在射频、微波设计中,各种“强大”的商用电磁仿真软件的功能包罗万象,这篇“内功心法”从算法角度出发,提示大家如何谨慎选择仿真软件。 心法一:场”与“路”的区分 世上本无“路”,“场”近似得多了就变成了“路”&a…

千人规模亚马逊云科技出海日将于6月9日开启,助推企业出海出圈

向全球价值链上游奋进 中国企业增强国际竞争力的关键,是努力朝全球价值链上游奋进,发力技术出海。中国的出海新机遇,背后曾是疫情在全球按下数字互联和数字化升级的快进键,跨境电商、在线社交、移动支付、数字服务等数字经济迎来…

什么是 Vue.js 中的 keep-alive 组件?如何使用 keep-alive 组件?

Vue.js 中的 Keep-alive 组件 Vue.js 是一款流行的前端框架,它提供了许多实用的组件和工具,其中之一就是 Keep-alive 组件。Keep-alive 组件是 Vue.js 的一个高阶组件,它可以帮助我们缓存组件实例,提高应用程序的性能和响应速度。…

python3写一个http接口服务(get, post),给别人调用6

python3写一个http接口服务(get, post),给别人调用6 一、python3写一个http接口服务(get, post),给别人调用6 近年来异步web服务器比较火热,例如falcon/bottle/sanic/aiohttp,今天也来玩玩sanic。 Sanic是一个支持Python 3.7的w…

Vue.js 中的 v-for 中的 key 属性

Vue.js 中的 v-for 中的 key 属性 Vue.js 是一个流行的 JavaScript 前端框架,它提供了一种简单的方式来构建可复用的组件和应用程序。在 Vue.js 中,v-for 指令用于循环渲染一个数组或对象,并将每个元素渲染为一个 DOM 元素。在使用 v-for 指…

数据安全架构设计

在提到安全架构之前,我们先看看安全的定义:安全是产品的质量属性,安全的目标是保障产品里信息资产的保密性(Confidentiality)、完整性(Integrity)和可用性(Availability)…

【大数据学习篇14】centos6安装Mysql

目录 1. centos6.5安装mysql5版本 1.1 以su超级用户,安装Mysql数据库 1.2 启动Mysql数据库 1.3、安装Mysql客户端 1.4 进入Mysql 1.5 设置密码123456,展示所有数据库 1.6 进入数据库test 1.7 创建数据库表 1.8 重新输入密码123456,进…

java代码的freemarker模板将JSP页面转换成word文档导出

使用java代码的freemarker模板将JSP页面转换成word文档导出 使用java代码的freemarker模板将JSP页面转换成word文档导出 一、准备好freemarker模板, 我的模板是这样的 需要特别注意的是,这些名字的写法是很特殊的,这个模板是wps在进行word…

100种思维模型之放大关键行动思维模型-75

很多时候,决定结果大小的是 关键行动的执行程度, 所以我们要适时 放大关键行动 ! 放大关键行动思维模型,一个 告诉我们 事前思考寻找能够破局的关键点,落实时要放大关键点上的行动 的思维模型。 01、何谓放大关键行动…

《Kali渗透基础》06. 主动信息收集(三)

kali渗透 1:服务识别1.1:NetCat1.2:Socket1.3:dmitry1.4:nmap 2:操作系统识别2.1:Scapy2.2:nmap2.3:p0f 3:SNMP 扫描3.1:onesixtyone3.2&#xff…

AI初体验 - 最初的两次AI辅助开发

1.第一个尝试:物理公式 2023年6月7日,是我第一次在 AI(ChatGPT)的帮助下,完成了一个数据分析工作。当时手里有一些数据,我大致知道物理原理,但是无法给出一个合适的公式。我大概工作了5个小时,没有进展&am…

RTP介绍

一、简介 Real-time Transport Protocol(实时传输协议) 具体参考rfc3350介绍 可负载H264、H265、G711A、AAC、PS、私有流等各种数据。 二、格式 RTP 固定头部格式如下 version (V): 2bits RTP协议版本号 目前协议版本为2 padding (P): 1bit 填充位 设置成1&#xff…

无线led显示屏的优势

无线LED显示屏是一种利用无线技术进行数据传输和控制的LED显示屏,相比传统有线连接的LED显示屏,具有以下优势: 灵活性和便捷性:无线LED显示屏无需使用复杂的有线连接,可以通过无线网络进行数据传输和控制。这使得安装和…

Linux内核中内存管理相关配置项的详细解析1

本文基于kernel 6.1.0,针对于“Linux/x86 6.1.0 Kernel Configuration”中的“Memory Management options”项下的各个子配置项(如下图所示)进行详细解析。 一、Support for paging of anonymous memory (swap) 这个选项以前位于“General S…

deepin 安装 MySQL

1.下载网址:MySQL :: Begin Your Downloadhttps://dev.mysql.com/downloads/file/?id519241 不用注册,直接下载 2. 打开下载文件:mysql ......deb 文件 3 选择步骤:选ubuntu bionic 4 ->MySQL Server&Cluster->mysq…

钢铁废水除氟

钢铁工业废水含多种污染物,包括大量的挥发酚、氟化物、石油类、悬浮物、砷、铅等有害物质。其中含氟工业废水的大量排放,不仅污染环境,还会危害到农作物和牲畜的生长发育,并且可以通过食物链影响到人体健康。所以对含氟废水需降氟…

去掉字符串中的空格,通过正则根据不同的需求分别能去掉前、后、前后、中间的空格。

正则小tips: 正则表达式 - 修饰符 gglobal - 全局匹配 正则表达式 - 元字符 ^匹配输入字符串的开始位置。*匹配前面的子表达式零次或多次。$匹配输入字符串的结束位置。\s 匹配任何空白字符,包括空格、制表符、换页符等等。 匹配前面的子表达式一次…