数学建模实验
数学建模实验报告

湖南城市学院数学与计算科学学院《数学建模》实验报告专业:学号:姓名:指导教师:成绩:年月日目录实验一 初等模型........................................................................ 错误!未定义书签。
实验二 优化模型........................................................................ 错误!未定义书签。
实验三 微分方程模型................................................................ 错误!未定义书签。
实验四 稳定性模型.................................................................... 错误!未定义书签。
实验五 差分方程模型................................................................ 错误!未定义书签。
实验六 离散模型........................................................................ 错误!未定义书签。
实验七 数据处理........................................................................ 错误!未定义书签。
实验八 回归分析模型................................................................ 错误!未定义书签。
实验一 初等模型实验目的:掌握数学建模的基本步骤,会用初等数学知识分析和解决实际问题。
实验内容:A 、B 两题选作一题,撰写实验报告,包括问题分析、模型假设、模型构建、模型求解和结果分析与解释五个步骤。
数学建模实验报告

数学建模实验报告1.流⽔问题问题描述:⼀如下图所⽰的容器装满⽔,上底⾯半径为r=1m,⾼度为H=5m,在下地⾯有⼀⾯积为B0.001m2的⼩圆孔,现在让⽔从⼩孔流出,问⽔什么时候能流完?解题分析:这个问题我们可以采⽤计算机模拟,⼩孔处的⽔流速度为V=sqrt[2*g*h],单位时间从⼩孔流出的⽔的体积为V*B,再根据⼏何关系,求出⽔⾯的⾼度H,时间按每秒步进,记录点(H,t)并画出过⽔⾯⾼度随时间的变化图,当⽔⾯⾼度⼩于0.001m 时,可以近似认为⽔流完了。
程序代码:Methamatic程序代码:运⾏结果:(5)结果分析:计算机仿真可以很直观的表现出所求量之间的关系,从图中我们可以很⽅便的求出要求的值。
但在实际编写程序中,由于是初次接触methamatic 语⾔,对其并不是很熟悉,加上个⼈能⼒有限,所以结果可能不太精确,还请见谅。
2.库存问题问题描述某企业对于某种材料的⽉需求量为随机变量,具有如下表概率分布:每次订货费为500元,每⽉每吨保管费为50元,每⽉每吨货物缺货费为1500元,每吨材料的购价为1000元。
该企业欲采⽤周期性盘点的),(S s 策略来控制库存量,求最佳的s ,S 值。
(注:),(S s 策略指的是若发现存货量少于s 时⽴即订货,将存货补充到S ,使得经济效益最佳。
)问题分析:⽤10000个⽉进⾏模拟,随机产⽣每个⽉需求量的概率,利⽤计算机编程,将各种S 和s 的取值都遍历⼀遍,把每种S,s的组合对应的每⽉花费保存在数组cost数组⾥,并计算出平均⽉花费average,并⽤类answer来记录,最终求出对应的S和s。
程序代码:C++程序代码:#include#include#include#include#define Monthnumber 10000int Need(float x){int ned = 0;//求每个⽉的需求量if(x < 0.05)ned = 50;else if(x < 0.15)ned = 60;else if(x < 0.30)ned = 70;else if(x < 0.55)ned = 80;else if(x < 0.75)ned = 90;else if(x < 0.85)ned = 100;else if(x < 0.95)ned = 110;else ned = 120;return ned;}class A{public:int pS;int ps;float aver;};int main(){A answer;answer.aver=10000000;//int cost[Monthnumber+1]={0}; float average=0;int i;float x;int store[Monthnumber];//srand((int)time(0));for(int n=6;n<=12;n++){// int n=11;int S=10*n;for(int k=5;k{// int k=5;int s=k*10;average=0;int cost[Monthnumber+1]={0};for(i=1;i<=Monthnumber;i++){store[i-1]=S;srand(time(0));x=(float)rand()/RAND_MAX; //产⽣随机数//cout<<" "<//cout<int need=Need(x);if(need>=store[i-1]){cost[i]= 1000*S + (need - store[i-1])*1500 + 500;store[i]=S;}else if(need>=store[i-1]-s){cost[i]=1000*(need+S-store[i-1]) + 50*(store[i-1]-need) + 500; store[i]=S;}else{cost[i]=(store[i-1]-need)*50;store[i]=store[i-1]-need;}average=cost[i]+average;}average=average/Monthnumber;cout<<"n="<cout<<"花费最少时s应该为:"<cout<<"平均每⽉最少花费为:"<}运⾏结果:结果分析:⽤计算机模拟的结果和⽤数学分析的结果有⼀定的差异,由于计算机模拟时采⽤的是随机模型⽽我⽤time函数和rand函数产⽣真随机数,所以在每次的结果上会有所差异,但对于⼀般的⽣产要求亦可以满。
数学建模实验报告

数学建模实验报告一、实验目的1、通过具体的题目实例,使学生理解数学建模的基本思想和方法,掌握数学建模分析和解决的基本过程。
2、培养学生主动探索、努力进取的的学风,增强学生的应用意识和创新能力,为今后从事科研工作打下初步的基础。
二、实验题目(一)题目一1、题目:电梯问题有r个人在一楼进入电梯,楼上有n层。
设每个乘客在任何一层楼出电梯的概率相同,试建立一个概率模型,求直到电梯中的乘客下完时,电梯需停次数的数学期望。
2、问题分析(1)由于每位乘客在任何一层楼出电梯的概率相同,且各种可能的情况众多且复杂,难于推导。
所以选择采用计算机模拟的方法,求得近似结果。
(2)通过增加试验次数,使近似解越来越接近真实情况。
3、模型建立建立一个n*r的二维随机矩阵,该矩阵每列元素中只有一个为1,其余都为0,这代表每个乘客在对应的楼层下电梯(因为每个乘客只会在某一层下,故没列只有一个1)。
而每行中1的个数代表在该楼层下的乘客的人数。
再建立一个有n个元素的一位数组,数组中只有0和1,其中1代表该层有人下,0代表该层没人下。
例如:给定n=8;r=6(楼8层,乘了6个人),则建立的二维随机矩阵及与之相关的应建立的一维数组为:m =0 0 1 0 0 01 0 0 0 0 00 0 0 0 0 00 1 0 0 0 00 0 0 0 0 00 0 0 0 0 10 0 0 0 1 00 0 0 1 0 0c = 1 1 0 1 0 1 1 14、解决方法(MATLAB程序代码):n=10;r=10;d=1000;a=0;for l=1:dm=full(sparse(randint(1,r,[1,n]),1:r,1,n,r));c=zeros(n,1);for i=1:nfor j=1:rif m(i,j)==1c(j)=1;break;endcontinue;endends=0;for x=1:nif c(x)==1s=s+1;endcontinue;enda=a+s;enda/d5、实验结果ans = 6.5150 那么,当楼高11层,乘坐10人时,电梯需停次数的数学期望为6.5150。
数学建模基础实验报告(3篇)

第1篇一、实验目的本次实验旨在让学生掌握数学建模的基本步骤,学会运用数学知识分析和解决实际问题。
通过本次实验,培养学生主动探索、努力进取的学风,增强学生的应用意识和创新能力,为今后从事科研工作打下初步的基础。
二、实验内容本次实验选取了一道实际问题进行建模与分析,具体如下:题目:某公司想用全行业的销售额作为自变量来预测公司的销售量。
表中给出了1977—1981年公司的销售额和行业销售额的分季度数据(单位:百万元)。
1. 数据准备:将数据整理成表格形式,并输入到计算机中。
2. 数据分析:观察数据分布情况,初步判断是否适合使用线性回归模型进行拟合。
3. 模型建立:利用统计软件(如MATLAB、SPSS等)进行线性回归分析,建立公司销售额对全行业的回归模型。
4. 模型检验:对模型进行检验,包括残差分析、DW检验等,以判断模型的拟合效果。
5. 结果分析:分析模型的拟合效果,并对公司销售量的预测进行评估。
三、实验步骤1. 数据准备将数据整理成表格形式,包括年份、季度、公司销售额和行业销售额。
将数据输入到计算机中,为后续分析做准备。
2. 数据分析观察数据分布情况,绘制散点图,初步判断是否适合使用线性回归模型进行拟合。
3. 模型建立利用统计软件进行线性回归分析,建立公司销售额对全行业的回归模型。
具体步骤如下:(1)选择合适的统计软件,如MATLAB。
(2)输入数据,进行数据预处理。
(3)编写线性回归分析程序,计算回归系数。
(4)输出回归系数、截距等参数。
4. 模型检验对模型进行检验,包括残差分析、DW检验等。
(1)残差分析:计算残差,绘制残差图,观察残差的分布情况。
(2)DW检验:计算DW值,判断随机误差项是否存在自相关性。
5. 结果分析分析模型的拟合效果,并对公司销售量的预测进行评估。
四、实验结果与分析1. 数据分析通过绘制散点图,观察数据分布情况,初步判断数据适合使用线性回归模型进行拟合。
2. 模型建立利用MATLAB进行线性回归分析,得到回归模型如下:公司销售额 = 0.9656 行业销售额 + 0.01143. 模型检验(1)残差分析:绘制残差图,观察残差的分布情况,发现残差基本呈随机分布,说明模型拟合效果较好。
数学建模实验报告

《数学建模实验》实验报告学院名称数学与信息学院专业名称提交日期课程教师实验一:数学规划模型AMPL求解实验内容1. 用AMPL求解下列问题并作灵敏度分析:一奶制品加工厂用牛奶生产A1和A2两种奶制品,1桶牛奶可以在甲类设备上用12小时加工成3公斤A1或者在乙类设备上用8小时加工成4公斤A2,且都能全部售出,且每公斤A1获利24元,每公斤A2获利16元。
先加工厂每天能得到50桶牛奶的供应,每天工人总的劳动时间为480小时,并且甲类设备每天至多加工100公斤A1,乙类设备的加工能力没有限制,试为该厂制定一个计划,使每天的获利最大。
(1)建立模型文件:milk.modset Products ordered;param Time{i in Products }>0;param Quan{i in Products}>0;param Profit{i in Products}>0;var x{i in Products}>=0;maximize profit: sum{i in Products} Profit [i]* Quan [i]*x[i];subject to raw: sum{i in Products}x[i] <=50;subject to time:sum{i in Products}Time[i]*x[i]<=480;subject to capacity: Quan[first(Products)]*x[first(Products)]<=100;(2)建立数据文件milk.datset Products:=A1 A2;param Time:=A1 12 A2 8;param Quan:=A1 3 A2 4;param Profit:=A1 24 A2 16;(3) 建立批处理文件milk.runmodel milk.mod;data milk.dat;option solver cplex;solve;display x;(4)运行运行结果:CPLEX 11.0.0: optimal solution; objective 33602 dual simplex iterations (1 in phase I)x [*] :=A1 20A2 30;(5)灵敏度分析:model milk.mod;data milk.dat;option solver cplex;option cplex_options 'sensitivity';solve;display x;display x.rc, x.down, x.up;display raw, time, capacity;display raw.down, raw.up,raw.current, raw.slack;得到结果:【灵敏度分析】: x.rc x.down x.up:=A1 -3.55271e-15 64 96A2 0 48 72;raw = 48time = 2capacity = 0raw.down = 43.3333raw.up = 60raw.current = 50raw.slack = 0某公司有6个建筑工地,位置坐标为(a i, b i)(单位:公里),水泥日用量d i (单位:吨)1) 现有j j j吨,制定每天的供应计划,即从A, B两料场分别向各工地运送多少吨水泥,使总的吨公里数最小。
数学建模实验二:微分方程模型Matlab求解与分析

实验二: 微分方程模型Matlab 求解与分析一、实验目的[1] 掌握解析、数值解法,并学会用图形观察解的形态和进行解的定性分析; [2] 熟悉MATLAB 软件关于微分方程求解的各种命令;[3] 通过范例学习建立微分方程方面的数学模型以及求解全过程; [4] 熟悉离散 Logistic 模型的求解与混沌的产生过程。
二、实验原理1. 微分方程模型与MATLAB 求解解析解用MATLAB 命令dsolve(‘eqn1’,’eqn2’, ...) 求常微分方程(组)的解析解。
其中‘eqni'表示第i 个微分方程,Dny 表示y 的n 阶导数,默认的自变量为t 。
(1) 微分方程 例1 求解一阶微分方程 21y dxdy+= (1) 求通解 输入:dsolve('Dy=1+y^2')输出:ans =tan(t+C1)(2)求特解 输入:dsolve('Dy=1+y^2','y(0)=1','x')指定初值为1,自变量为x 输出:ans =tan(x+1/4*pi)例2 求解二阶微分方程 221()04(/2)2(/2)2/x y xy x y y y πππ'''++-=='=-原方程两边都除以2x ,得211(1)04y y y x x'''++-= 输入:dsolve('D2y+(1/x)*Dy+(1-1/4/x^2)*y=0','y(pi/2)=2,Dy(pi/2)=-2/pi','x')ans =- (exp(x*i)*(pi/2)^(1/2)*i)/x^(1/2) +(exp(x*i)*exp(-x*2*i)*(pi/2)^(3/2)*2*i)/(pi*x^(1/2))试试能不用用simplify 函数化简 输入: simplify(ans)ans =2^(1/2)*pi^(1/2)/x^(1/2)*sin(x) (2)微分方程组例3 求解 d f /d x =3f +4g ; d g /d x =-4f +3g 。
数学建模的实验报告

数学建模实验报告姓名:学院:专业班级:学号:数学建模实验报告(一)——用最小二乘法进行数据拟合一.实验目的:1.学会用最小二乘法进行数据拟合。
2.熟悉掌握matlab软件的文件操作和命令环境。
3.掌握数据可视化的基本操作步骤。
4.通过matlab绘制二维图形以及三维图形。
二.实验任务:来自课本64页习题:用最小二乘法求一形如y=a+b x2的多项式,使之与下列数据拟合:三.实验过程:1.实验方法:用最小二乘法解决实际问题包含两个基本环节:先根据所给出数据点的变化趋势与问题的实际背景确定函数类;然后按照最小二乘法原则求最小二乘解来确定系数。
即要求出二次多项式: y=a+b x2的系数。
2.程序:x=[19 25 31 38 44]y=[19.0 32.3 49.0 73.3 97.8]ab=y/[ones(size(x));x.^2];a=ab(1),b=ab(2)xx=19:44;plot(xx,a+b*xx.^2,x,y,'.')3.上机调试得到结果如下:x = 19 25 31 38 44y=19.0000 32.3000 49.0000 73.3000 97.8000a = 0.9726b = 0.0500图形:四.心得体会通过本次的数学模型的建立与处理,我们学习并掌握了用最小二乘法进行数据拟合,及多项式数据拟合的方法,进一步学会了使用matlab软件,加深了我们的数学知识,提高了我们解决实际问题的能力,为以后深入学习数学建模打下了坚实的基础。
数学建模实验报告(二)——用Newton法求方程的解一.实验目的1.掌握Newton法求方程的解的原理和方法。
2.利用Matlab进行编程求近似解。
二.实验任务来自课本109页习题4-2:用Newton法求f(x)=x-cosx=0的近似解三.实验过程1.实验原理:把f(x)在x0点附近展开成泰勒级数f(x) = f(x0)+(x-x0)f'(x0)+(x-x0)^2*f''(x0)/2! +… 取其线性部分,作为非线性方程f(x) = 0的近似方程,即泰勒展开的前两项,则有f(x0)+f'(x0)(x-x0)=0 设f'(x0)≠0则其解为x1=x0-f(x0)/f'(x0) 这样,得到牛顿法的一个迭代序列:x(n+1)=x(n)-f(x(n))/f'(x(n))。
数学建模 -实验报告1

������������⁄������������ = ������������(1 − (������ + ������)) − ������1������∗������,
(4 − 3)
������������∗⁄������������ = −������1������∗������ + ������2������
二、 问题分析
建立肿瘤细胞增长模型时,我们可以从自由增长模型开始分析,引进 Logistic 阻滞增长模型,构成肿瘤细胞增长初步框架。再者肿瘤细胞不同于普 通细胞,其生长受到人体自身免疫系统的制约。于是综合考虑正常细胞转化,癌 细胞增殖,癌细胞死亡,癌细胞被效应细胞消除等情况,建立动力学方程。并对 模型进行适当简化求解。在放射治疗方案的设计中,我们可以引入放射生物学中 广泛接受的 LQ 模型对问题进行分析,由于放疗对人体伤害相当大,因此我们采 取分次逐次放疗的方式进行治疗。我们具体分两种情形进行讨论,一是在总剂量 一定的条件下,不同的分次剂量组合对生物效应的影响;二是在产生相同生物效 应的情况下,分析最优的分次剂量组合。
易算出癌细胞转入活动期已有 300 多天,故如何在早期发现癌症是攻克癌症的关键之一 (2)手术治疗常不能割去所有癌细胞,故有时需进行放射疗法。射线强度太小无法杀
死癌细胞,太强病人身体又吃不消且会使病人免疫功能下降。一次照射不可能杀死全部癌细 胞,请设计一个可行的治疗方案(医生认为当体内癌细胞数小于 100000 个时即可凭借体内 免疫系统杀灭)。
进一步简化,根据(4-4),(4-5)式可知,效应细胞������∗和复合物������有出有进.假 设出入保持平衡,则有
������ + ������∗ = C (C 为常数)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数学建模课程实验报告
专题实验7
班级数财系1班学号2011040123 丛文实验题目常微分方程数值解
实验目的1.掌握用MATLAB求微分方程初值问题数值解的方法;2.通过实例学习微分方程模型解决简化的实际问题;3.了解欧拉方法和龙格库塔方法的基本思想。
实验容(包括分析过程、方法、和代码,结果) 1. 用欧拉方法和龙格库塔方法求下列微分方程初值问题的数值解,画出解的图形,对结果进行分析比较
解;M文件
function f=f(x,y)
f=y+2*x;
程序;
clc;clear;
a=0;b=1; %求解区间
[x1,y_r]=ode45('f',[a b],1); %调用龙格库塔求解函数求解数值解;
%% 以下利用Euler方法求解
y(1)=1;N=100;h=(b-a)/N;
x=a:h:b;
for i=1:N
y(i+1)=y(i)+h*f(x(i),y(i));
end
figure(1)
plot(x1,y_r,'r*',x,y,'b+',x,3*exp(x)-2*x-2,'k-');%数值解与真解图
title('数值解与真解图');
legend('RK4','Euler','真解');
xlabel('x');ylabel('y');
figure(2)
plot(x1,abs(y_r-(3*exp(x1)-2*x1-2)),'k-');%龙格库塔方法的误差
title('龙格库塔方法的误差')
xlabel('x');ylabel('Error');
figure(3)
plot(x,abs(y-(3*exp(x)-2*x-2)),'r-')%Euler方法的误差
title('Euler方法的误差')
xlabel('x');ylabel('Error');
4. 单摆运动是一个我们熟悉的物理模型,可以看作工程技术中一些振动问题的简化,图8中一根长l的(无弹性的)细线,一端固定,另一端悬挂一质量为m的小球,在重力作用下小球处于竖直的平衡位置,使小球偏离平衡位置一根小的角度0θ,然后让它无初速度的放开,小球就会沿圆弧摆动,在不考虑空气阻力的情况下建立θ关于时间t的微分方程,设l=25cm,在0θ等于︒
10和︒
30两种情况
下求方程的数值解,并与近似解
t
l
g
t cos
)(
θ
θ=
比较。
解;实验原理与数学模型:
二. 当ο
θ30=时,
ts=0:0.05:2;
a0=0.5236;
x0=[a0,0];
[t,x]=ode23(danbai,ts,x0);
y=a0*cos(sqrt(40).*t);
[t,x(:,1),y]
subplot(1,2,2),plot (t,x(:,1),'-k*'),title('摆角30度数值解')
2.0000 0.5036 0.5218
从数据可以看出,角度为10o时精确(数值)解与近似解相差不大,而初始角度为30o时,随着时间的增加差别很大。