数学建模初等模型应用

一、目的

掌握初等模型的建模方法,对简单的初等模型能借助Matlab工具软件进行辅助建模、求解和检验。

二、实验内容与设计思想(设计思路、主要代码分析)

1、预测鱼的质量

(1)设计思路:使用线性回归模型预测鱼的质量,基于其身长和胸围作为输入特征。通过最小二乘法拟合模型,推导出一个线性方程,用于对未知样本的质量进行预测。

(2)代码实现数据准备:将鱼的身长、胸围和质量数据这些数据以向量的形式存储,以便后续的计算。

设计矩阵构建:构建设计矩阵,包含输入特征(身长和胸围)及一个常数项,用于线性回归分析。

N = numel(length); X = [ones(N, 1), length, girth];

这里,N表示样本数量,通过numel函数获取。X是设计矩阵,它的第一列为常数1(表示截距项),第二列为身长,第三列为胸围。这种构建方式是线性回归中常见的形式,使得模型可以通过线性组合来表示。

线性回归模型拟合:利用最小二乘法公式b = (X' * X)(X' * weight);进行参数估计,以得到最佳的线性回归系数。这些系数能够帮助我们构建预测模型。

模型预测:使用拟合得到的模型对新的身长和胸围数据进行质量预测。

2、录像机

(1)设计思路:

数据收集与处理:收集录像机在不同时间点的计数器读数,形成一组时间与读数的数据对。这些数据将用作分析录像带的使用情况。

插值法:由于原始数据点有限,为了获得更平滑的曲线,使用插值法(在这里使用的是样条插值'spline'),可以在给定时间点估算出相应的计数器读数。

时间计算:基于当前计数器读数计算已经用掉的时间,然后与录像带的总时间进行对比,得到剩余时间。利用插值的结果进一步估算在剩余时间内计数器的读数。

最后,通过比较剩余读数和当前读数,判断剩余时间是否足够录制一小时的节目。

(2)原始数据表示:使用两个数组t和n分别表示时间(分钟)和对应的计数器读数。

插值计算:使用linspace生成细分时间点tt,并通过spline插值方法获取对应的计数器读数nn。

绘图:使用MATLAB的绘图功能,将原始数据点和插值结果绘制在同一图形中,以便直观展示读数变化。

剩余时间计算:通过当前计数器读数计算已经用掉的时间,并求出录像带的剩余时间。

通过插值法获取在剩余时间内的读数,并与当前读数进行比较,给出是否足够录制一小时节目的结论。

三、实验使用环境(本次实验所使用的平台和相关软件)

Matlab

四、实验步骤和调试过程

1、预测鱼的质量

N = numel(length);:计算数据点的数量,这里为8。

X = [ones(N, 1), length, girth]:构造设计矩阵 X。在这个矩阵中,第一列全为1(用于线性回归中的截距项),第二列是鱼的身长,第三列是鱼的胸围。最终的矩阵 X 的维度为 8x3,每一行代表一个样本,每一列代表一个变量。

b = (X' * X)(X' * weight);:这是最小二乘法的标准计算方式。首先计算 X 的转置 X',然后计算 X' * X 和 X' * weight。接着使用' \' 进行矩阵左除,从而解得参数 b。b 是一个包含线性回归系数的向量,具体包括截距和斜率。

a0:截距项,即当身长和胸围为0时的预测质量。

a1:身长的回归系数,表示身长每增加一单位cm,预测质量的增加量g。

a2:胸围的回归系数,表示胸围每增加一单位cm,预测质量的增加量g。

y = a0+a1mlength+a2mgirth;根据建立的回归模型,用 mlength 和 mgirth 计算预测的质量 y。

更改几个身长和胸围的数据,不难看出与表格质量数据近似。

2、录像机

tt:使用 linspace 创建了一个从0到184分钟的等间距的1000个点的数组,方便绘图和插值。

nn:使用 interp1 进行样条插值('spline'),生成在 tt 这些时间点对应的计数器读数。这一步使得拟合曲线更加平滑。

plot(tt, nn, 'r-', 'DisplayName', '拟合曲线'):用红色线绘制拟合的插值曲线。

current_reading = 4450:假设当前计数器的读数为4450。

elapsed_time = 184 * (current_reading / 6061):计算已经用掉的时间。根据比例关系,将当前读数与最大读数6061进行比较,得出已用掉的时间。

remaining_time = 180 - elapsed_time;:计算录像带的剩余时间。

if remaining_time < 0:检查剩余时间是否小于0,如果是,输出"录像带已用完!"。

remaining_reading = interp1(t, n, elapsed_time + remaining_time, 'linear');:如果还有剩余时间,使用线性插值计算在已用时间加剩余时间的情况下,计数器的读数。

if (remaining_reading - current_reading) >= 1000:检查剩余的读数是否能支持录制1小时的节目(即至少增加1000的计数器读数),如果条件成立,输出"剩余时间足够录制1小时节目。否则,输出"剩余时间不足以录制1小时节目。"。

结合图像和计算结果可得出结论。

五、小结

实验中遇到的问题及解决过程:

1、在进行线性回归时,发现部分身长和胸围值超出了原数据范围,导致预测结果不合理。

解决过程:添加数据有效性检查,确保输入值在合理范围内,并使用数据过滤技术剔除异常值。

2、在选择插值方法时,初步使用线性插值,发现拟合曲线不够光滑,存在明显的跳变。

解决过程:更改为样条插值方法,得到更平滑的拟合结果。

实验体会和收获:

通过本次实验,我认识到数据预处理在分析中的重要性,尤其是格式和范围的有效性直接影响模型的预测结果。同时,实验让我深刻体会到理论知识与实际操作的结合,实际操作中遇到的各种问题促使我不断调整和完善分析方法。此外,我在问题解决过程中锻炼了逻辑思维能力,学会了如何系统地分析问题并提出解决方案。这些经验为我今后的数据分析和模型建立奠定了良好的基础。

相关推荐
FF-Studio3 小时前
万物皆数:构建数字信号处理的数学基石
算法·数学建模·fpga开发·自动化·音视频·信号处理·dsp开发
IT古董11 小时前
【第一章:人工智能基础】04.数学建模基本方法-(1)优化问题与线性规划
人工智能·数学建模
吴边落木3 天前
【3D插件推荐】PolyCloth v2.07 超强布料模拟工具(附图文安装教程与下载)
数学建模·动画
阑梦清川3 天前
国防科技大学计算机基础慕课课堂学习笔记
笔记·学习·数学建模
数模竞赛Paid answer3 天前
2023年全国研究生数学建模竞赛华为杯D题区域双碳目标与路径规划研究求解全过程文档及程序
数学建模·数据分析·华为杯
HCl+NaOH=NaCl+H_2O3 天前
数学建模期末速成 主成分分析的基本步骤
数学建模
geneculture4 天前
路径=算法=操作:复杂系统行为的统一数学框架
人工智能·算法·数学建模·课程设计·智慧系统·融智学的重要应用·复杂系统
geneculture6 天前
融智学本体论体系全景图
人工智能·数学建模·融智学的重要应用·道函数·三类思维坐标
Shan12056 天前
3Ds Max 2026安装包+教程网盘下载与安装教程指南
数学建模·3d