2016年亚太杯APMCM数学建模大赛A题基于光学信息数据的温度及关键元素含量预测求解全过程文档及程序
2016年亚太杯APMCM数学建模大赛
A题 基于光学信息数据的温度及关键元素含量预测
原题再现
光含有能量,在一定条件下可以转化为热。燃烧是一种常见的现象,既能发光又能发热。光和热通常是同时存在的,一般来说,光强度越高,温度越高。
光强度与温度没有直接关系,但光频率与温度有很大关系,如低频红外光和远红外光,具有典型的热效应,而高频紫外光几乎没有热效应。在相同频率下,光强越大,热效应越好。
金属熔炼是将金属材料抛入一定的熔炉中,在一定温度下进行熔炼,以控制或消除劣质元素,保持或增加劣质元素的比例。从而寻求获得目标金属的最佳性能。因此,金属冶炼的关键在于温度和关键元素含量的控制。在金属冶炼过程中,炉膛产生火焰,通过小孔成像原理将火焰发出的光学信息投影到光电探测器上。然后,根据离散频率,由光电探测器每隔0.5s记录一次火焰的光强数据。某一时刻光信息数据生成过程:
从上面的图像中,光电探测器每0.5秒接收的数据量为2048。需要利用2048光强值实时预测火焰温度和原料中关键元素的含量。
附录给出了1.xlsx、2.xlsx和3.xlsx三种金属熔炼过程的数据,包括时间t、燃烧气体累积消耗量Q、燃烧气体累积消耗率p、光学信息数据(f\u 1-f\u 2048,不同频率的光强)、开尔文温度t和关键元素C的含量。
词汇表:
光学信息特性:以一次生成的2048光强数据为输入,以火焰温度和关键元素含量为输出,建立数学模型必然比较复杂,无法达到预测结果。为了减少输入数据的数量,尝试寻找一个或多个光强数据的特征值,将其作为输入,降低模型计算的复杂度,增强模型的适用性。
交叉实验:给出了三种金属冶炼过程的数据,建立了基于三种不同工艺的温度和关键元素含量预测模型。为了验证该模型的通用性,分别对1过程和2过程、3过程进行了仿真。然后探讨了误差特性。交叉试验设计见下表:
Err11表示基于1工序预测模型的自检误差,Err21表示基于1工序预测模型和2工序数据的交叉检验误差,依此类推。
通过以上背景,探索以下三个问题:
1) 根据附件中给出的数据建立数学模型或算法模型,求出光学信息数据的特征λ,并将特征(λ1,λ2,…,λn)提取到Excel表格中。数据文件名为:feature\u output\u 1.xlsx、feature\u output\u 2.xlsx和feature\u output\u 3.xlsx。
2) 利用1)中提取的光学信息特征数据和数据表中给出的时间t、助燃气体累计消耗量Q等数据,建立数学模型或算法模型,预测开尔文温度t和关键元素含量C,并探讨其关系。
3) 通过问题1)和问题2)的探索,设计交叉实验方案,交叉验证预测目标产生的误差,并在误差分析的基础上给出误差控制方案。
整体求解过程概述(摘要)
在金属冶炼过程中,温度和关键元素含量的控制对获得目标金属的最佳性能具有重要意义。本文的核心目标是建立一个数学模型或算法模型,来描述在燃气比累积消耗量和燃气累积消耗率条件下,温度、关键元素含量与光照强度之间的关系。
在第一个问题中,我们采用主成分分析法,从每0.5秒记录的2048组光强数据中找出特征值。根据SPSS软件计算的原始光强数据的计算结果,可以用13个主成分来表示2048组数据的光学信息。以各主成分的贡献率为权重,通过加权求和得到特征值,可以代表原始光强数据的绝大部分信息。
在第二个问题中,我们首先探讨了光学信息特征数据λ的规律,发现它可以很好地拟合成线性函数。特别地,由于λ的散点图的特殊性,我们在过程1中采用了分割函数。然后通过观察和探索,决定采用多元线性回归预测开尔文温度和关键元素含量C,最后进行相关检验,检验结果是否显著,并得到正确答案。从而得出多元线性回归可以预测T和C的结论,并给出了各过程的预测表达式。
在第三个问题中,我们首先在三个预测模型和三个过程数据之间进行交叉实验,计算交叉实验中每个单元的均方误差。并对模型的普适性进行了一般性分析。然后,为了提高模型的通用性和控制误差,对整个过程中的误差来源进行了全面详细的分析。区分了误差中可人为控制的部分。针对不同类型的误差,从给定数据的误差、PCA算法的误差、回归预测模型的误差和随机误差四个方面提出了提高模型精度和通用性的误差控制方案。
模型假设:
1.假设所选主成分具有高度代表性。
2.假设代表85%以上信息的特征值可以代替所有原始光强数据。
3.假设原始光强数据之间有很强的相关性
4.附录1-3中给出的数据真实有效。
5.由问题1得到的光学信息特征数据λ是正确的。
6.光学信息特征数据λ可以在可接受的范围内波动,少数离群数据可以丢弃。。
7.没有更多的元素会影响开尔文温度T和关键元素含量C的预测。
问题分析:
问题1分析
给出了从金属冶炼过程中提取的三组数据,包括时间t、燃烧气体累积消耗量Q、燃烧气体累积消耗率p、光学信息数据(f\u 1-f\u 2048,不同频率的光强)、开尔文温度t和关键元素C的含量。如果以一次生成的2048个光强数据为输入,以火焰温度和关键元素含量为输出,构建数学模型必然比较复杂,因此我们的核心任务是找到一个或多个光强数据的特征值来代表原始数据中的大部分信息。采用主成分分析的方法对2048组数据进行降维处理,将原始数据替换为维数较小且互不相关的主成分。利用SPSS软件计算了光强数据的特征值。
问题2分析
问题2要求我们利用光学信息特征数据λ、时间t和累积消耗量Q来预测开尔文温度t和关键元素含量C。通过观察,我们发现变量t、Q、t和C呈线性增加,变量λ的散点图表明它可以拟合成一条直线。因此,我们决定选择多元线性回归预测开尔文温度T和关键元素含量C。
问题3分析
问题3首先设计一个交叉实验,并根据交叉实验结果交叉验证预测目标产生的误差。进一步根据分析结论设计误差控制方案。在我们的研究中,误差的构成可能包括但不限于问题求解的模型和算法以及随机误差。在分析误差来源的基础上,提出一种误差控制方法。所以,我们将测试误差分为可控制和不可人工功率两类。,并提出了不同的误差控制方法。从而达到提高模型通用性的目的。
模型的建立与求解整体论文缩略图
全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可
程序代码:
部分程序如下:
%T 总程序
%T1 总程序
clear;clc
load APMCM1
y1=polyfit(time1,lamda1,1); %对散点图进行线性拟合
lamdatest1=y1(1)*time1+y1(2);
figure (1)
x1=1:269;
plot(x1,lamda1,'b-');
hold on
plot(x1,lamdatest1,'r-');
title('lamda 拟合');
xlabel('t');
ylabel('lamda');
legend('实验值','预测值');
%对 T1 进行多元回归
e1=ones(269,1);
X1=[e1,time1,Q1,lamdatest1];
[b1,bint1,r1,rint1,stats1]=regress(T1,X1,0.05);
figure (2)
rcoplot(r1,rint1);
%绘制 T1 与 Ttest1 曲线
Ttest1=b1(1)+b1(2)*time1+b1(3)*Q1+b1(4)*lamdatest1;
figure (3)
x1=1:269;
subplot(1,2,1)
plot(x1,T1,'b-');
title('温度 T 的多元回归');
xlabel('横坐标');
ylabel('T');
legend('实验值');
subplot(1,2,2)
plot(x1,Ttest1,'r-');
xlabel('横坐标');
ylabel('T');
legend('预测值');
figure (4)
plot(x1,T1,'b-');
hold on
plot(x1,Ttest1,'r-');
title('温度 T 的多元回归');
xlabel('横坐标');
ylabel('T');
legend('实验值','预测值');
%T2 总程序
y2=polyfit(time2,lamda2,1);% 对散点图进行线性拟合
lamdatest2=y2(1)*time2+y2(2);
%lamdatest2=[];
%for i=1:135
% lamdatest2(i,1)=1.9.*time2(i)+1276.9;
%end
figure (5)
x2=1:135;
plot(x2,lamda2,'b-');
hold on
plot(x2,lamdatest2,'r-');
title('lamda 拟合');
xlabel('t');
ylabel('lamda');
legend('实验值','预测值');
%用 SPSS 对 lamda 和 lamdatest 进行相关性检测
%对 T2 进行多元回归
e2=ones(135,1);
X2=[e2,time2,Q2,lamdatest2];
[b2,bint2,r2,rint2,stats2]=regress(T2,X2,0.05);
figure (6)
rcoplot(r2,rint2)
%绘制 T2 与 Ttest2 曲线
Ttest2=b2(1)+b2(2)*time2+b2(3)*Q2+b2(4)*lamdatest2;
%Ttest2=[];
%for i=1:135
% Ttest2(i)=-1.9956.*time2(i)+0.1605.*Q2(i)+1.0503.*lamdatest2(i);
%end
figure (7)
x2=1:135;
subplot(1,2,1)
plot(x2,T2,'b-');
title('温度 T 的多元回归');
xlabel('横坐标');
ylabel('T');
legend('实验值');
subplot(1,2,2)
plot(x2,Ttest2,'r-');
xlabel('横坐标');
ylabel('T');
legend('预测值');
figure (8)
plot(x2,T2,'b-');
hold on
plot(x2,Ttest2,'r-');
title('温度 T 的多元回归');
xlabel('横坐标');
ylabel('T');
legend('实验值','预测值');
%绘制 T 与 Ttest 曲线
Ttest=[];
for i=1:404
if i<=269Ttest(i)=Ttest1(i);
elseTtest(i)=Ttest2(i-269);
end
end
figure (9)
x=1:404;
plot(x,T,'b-','linewidth',2)
hold on
plot(x,Ttest,'r-','linewidth',2)
title('mutiple linear regression for T prediction');
xlabel('xlabel');
ylabel('T');
h1=legend('actual value','fitted value');
set(h1,'Fontsize',14)
figure (10)
subplot(1,2,1)
plot(x,T,'b-','linewidth',2)
title('mutiple linear regression for T prediction');
xlabel('xlabel');
ylabel('T');
h2=legend('actual value');
subplot(1,2,2)
plot(x,Ttest,'r-','linewidth',2)
xlabel('xlabel');
ylabel('T');
h3=legend('fitted value');
set(h2,'Fontsize',14);
set(h3,'Fontsize',14);
%探索 T、C 之间的关系
clear;
clc;
load APMCM1;
%C 和 T 的线性回归
e=ones(404,1);
X=[e,T];
[b,bint,r,rint,stats]=regress(C,X,0.05);
figure (1)
rcoplot(r,rint)
Ctest=b(1)+b(2)*T;
%y3=polyfit(T,C,1);
%Ctest=y3(1)*T+y3(2);
ttt=1:404;
figure (2)
plot(ttt,C,'b-','linewidth',2)
hold on
plot(ttt,Ctest,'r-','linewidth',2)
title('The relationship between T and C')
xlabel('T');
ylabel('C');
h=legend('actual value','fitted value');
set(h,'Fontsize',14)
b
%y3 %线性拟合参数 常数项 α
全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可
相关文章:

2016年亚太杯APMCM数学建模大赛A题基于光学信息数据的温度及关键元素含量预测求解全过程文档及程序
2016年亚太杯APMCM数学建模大赛 A题 基于光学信息数据的温度及关键元素含量预测 原题再现 光含有能量,在一定条件下可以转化为热。燃烧是一种常见的现象,既能发光又能发热。光和热通常是同时存在的,一般来说,光强度越高…...

一文讲明:企业知识库的作用和搭建方法
在现代商务环境中,企业面临着大量的信息和知识流动。这些信息和知识散落在各个部门、团队甚至个人之间,难以进行有效的整合和利用。而企业知识库的出现解决了这一问题。它提供了一个统一的平台,将分散的信息汇聚到一个集中的数据库中…...
技术的新浪潮:从SOCKS5代理到跨界电商的未来
在当今这个日新月异的技术时代,各种创新技术如雨后春笋般涌现。从SOCKS5代理到跨界电商,再到爬虫技术、出海战略和游戏产业的飞速发展,我们正处于一个技术变革的黄金时代。 SOCKS5代理:安全的网络通道 SOCKS5代理是一种网络协议…...

Android intent的一些小使用
目录: 1. Test5.java2. activity_main5.xml3. Empty.java (这个是用来带参数打开Activity按钮用的)4. activity_empty.xml5. 总结 一些基本的问题就不进行说明了,直接上代码!!! // 最后的隐形intent和带返回值没有解决…...
Android 关闭 SELinux 释放权限限制
Android 关闭 SELinux 释放权限限制 接前一篇,后续收到客户需求想要关闭 SELinux 放开安全权限,SELinux 是 Linux 的一个安全子系统,SELinux 主要作用是最大限度地减小系统中服务进程可访问的资源,我们想要放开安全权限只需处理 …...

国际腾讯云自主拼装直播 URL教程!!!
注意事项 创建转码模板 并与播放域名进行 绑定 后,转码配置后的直播流,需将播放地址的 StreamName 拼接为 StreamName_转码模板名称,更多详情请参见 播放配置。 前提条件 已注册腾讯云账号,并开通 腾讯云直播服务。 已在 域名…...

AQS 为什么要使用双向链表?
双向链表 双向链表的特点是它有两个指针,一个指针指向前置节点,一个指针指向后继节点。所以,双向链表可以支持 常量 O(1) 时间复杂度的情况下找到前驱结点,基于这样的特点。双向链表在插入和删除操作的时候,要比单向链…...

Golang 自定义函数库(个人笔记)
1.用字符串连接切片元素(类似php implode) package mainimport ("fmt""strconv""strings" )func main() {data : []int{104, 101, 108, 108, 111}fmt.Println(IntSliceToString(data, ",")) }func IntSliceToS…...
openlayers 地图组件封装
openlayers 地图组件封装 <template><div class"mapBox"><!-- 地图 --><div ref"map" id"map" class"map"></div><!-- 点位弹窗 --><div id"popup" class"ol-popup">…...
【算法设计与分析】—— 分治算法
🎃个人专栏: 🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客 🐳Java基础:Java基础_IT闫的博客-CSDN博客 🐋c语言:c语言_IT闫的博客-CSDN博客 🐟MySQL:…...

Unable to find GatewayFilterFactory with name TokenRelay
目录 问题分析解决方案参考文档开源项目微服务商城项目前后端分离项目 问题分析 Spring Cloud Gateway 网关作为代理资源服务器,需要将 JWT 传递给下游资源服务器,下面是网关的配置 spring:cloud:gateway:discovery:locator:enabled: true # 启用服务发…...

竞赛 深度学习大数据物流平台 python
文章目录 0 前言1 课题背景2 物流大数据平台的架构与设计3 智能车货匹配推荐算法的实现**1\. 问题陈述****2\. 算法模型**3\. 模型构建总览 **4 司机标签体系的搭建及算法****1\. 冷启动**2\. LSTM多标签模型算法 5 货运价格预测6 总结7 部分核心代码8 最后 0 前言 ǵ…...
git基础及原理相关解析
git入门 结构基本操作help提交分支git merge和git rebase对比 拉取 git文档 结构 工作区:电脑目录中能看到的文件暂存区:使用git add *操作提交文件的位置,一般位于.git\index,这个文件里面存储了当前位于暂存区的所有文件的校验…...
【Python机器学习】零基础掌握isotonic_regression等渗回归
遇到了数据不一致的困扰吗? 在市场分析、医疗研究或者其他数据密集型领域,经常会遇到一个问题:如何从一组不完全一致或者有噪音的数据中提取出有用的信息?例如,假设一家餐厅想要根据顾客的评分和消费金额来调整菜单。 顾客评分消费金额(元)顾客年龄访问次数4.21002533.…...
支持宏的文本编辑器提高生产力
场景 我们知道很多文本/代码编辑器支持宏的录制、重放、保存,甚至可以与快捷键命令结合的功能,快速实现重放宏的操作。 如果您的编辑器支持宏这项功能,请多使用 😃 宏化自动步骤相当于对编辑器的自动化编程,宏录制可…...

JS中面向对象的程序设计
面向对象(Object-Oriented,OO)的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象。但在ECMAScript 中没有类的概念,因此它的对象也与基于类的语言中的对象有所不…...

云耀服务器L实例搭配负载均衡部署Linux 可视化宝塔面板
云耀服务器L实例搭配负载均衡部署Linux 可视化宝塔面板 1. 华为云云耀服务器L实例介绍 华为云云耀服务器L实例是一种高性能、高可靠性的云服务器实例,适用于大规模企业级应用、大数据分析等场景。它基于华为最新一代的硬件虚拟化技术,提供了更高的计算…...
mac pycharm配置autopep8
mac终端安装autopep8 pip install autopep8pycharm配置autopep8 在Pycharm中点击 File–Settings—Tools–External Tools, 点击图中绿色加号图标添加扩展工具,填写相关参数配置。 Name:Autopep8(可以随便取) Tools setting&…...

Vue $nextTick
我们用一个例子来说明$nextTick的作用: 我们用一个变量showIpt来控制input框的显示和隐藏,默认是隐藏。 我们点击一个按钮后显示这个输入框的同时,input还要自动获取焦点。 但是我们点击按钮过后并没有生效。 为什么?this.show…...
linux配置dns
服务器有网,ping IP 地址可以ping的通,但是ping网站域名ping不通,需要配置dns 使用公共dns服务器 1、设置dns服务器地址 vi /etc/resolv.conf 将谷歌的dns服务器地址添加到dns解析配置中 nameserver 8.8.8.8 nameserver 8.8.4.4 保存后&…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互
引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...
LeetCode - 199. 二叉树的右视图
题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...

ubuntu系统文件误删(/lib/x86_64-linux-gnu/libc.so.6)修复方案 [成功解决]
报错信息:libc.so.6: cannot open shared object file: No such file or directory: #ls, ln, sudo...命令都不能用 error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory重启后报错信息&…...

Android写一个捕获全局异常的工具类
项目开发和实际运行过程中难免会遇到异常发生,系统提供了一个可以捕获全局异常的工具Uncaughtexceptionhandler,它是Thread的子类(就是package java.lang;里线程的Thread)。本文将利用它将设备信息、报错信息以及错误的发生时间都…...