数学建模的实验报告

时间:2024.3.20

                      

一、 问题

路灯照明问题。在一条20m宽的道路两侧,分别安装了一只2kw和一只3kw的路灯,它们离地面的高度分别为5m和6m。在漆黑的夜晚,当两只路灯开启时,两只路灯连线的路面上最暗的点和最亮的点在哪里?如果3kw的路灯的高度可以在3m到9m之间变化,如何路面上最暗点的亮度最大?如果两只路灯的高度均可以在3m到9m之间变化,结果又如何?

二、 数学模型

已知P1为2kw的路灯,P2为3kw的路灯,以地面为X轴,路灯P1为Y轴,建立平面直角坐标系。其中,P1、P2高度分别为h1、h2,水平距离为S=20m。设有一点Q(x,0),P1、P2分别与其相距R1、R2。如下图示。

经查阅资料得,光照强度公式为:,设光照强度k=1。则,两个路灯在Q点的光照强度分别为:

    

其中:

R12=h12+x2         R22=h22+(S-x)2

则Q点的光照强度Ix=I1+I2

分别按照题目中的不同要求,带入不同数值,求导,令导数为零,求得极值,进一步分析对比,求得最值。

三、 算法与编程

1. 当h1=5m,h2=6m时:

symptoms x y

x=0:0.1:20;

y=10./sqrt((25.+x.^2)^3)+18./sqrt((36.+(20-x).^2).^3);

plot(x,y)

grid on;

     在图中的0-20米范围内可得到路灯在路面照明的最亮点和最暗点

① 对Ix求导:

syms x

f=10./sqrt((25.+x.^2)^3)+18./sqrt((36.+(20-x).^2).^3)

② 运用MATLAB求出极值点

s=solve('(-30*x)/((25+x^2)^(5/2))+(54*(20-x))/((36+(20-x)^2)^(5/2))');

s1=vpa(s,8)  

s1 =

          .28489970e-1

 8.5383043+11.615790*i

             19.976696

             9.3382991

 8.5383043-11.615790*i

③根据实际要求,x应为正实数,选择19.9767、9.3383、0.02849三个数值,通过MATLAB计算出相应的I值:

syms x

I=10/(25+x^2)^(3/2)+18/(36+(20-x)^2)^(3/2);

subs(I,x,19.9767)

subs(I,x,9.3383)

subs(I,x,0.02849)  

ans =

    0.0845

ans =

    0.0182

ans =

0.820   

综上,在19.3米时有最亮点;在9.33米时有最暗点

2.当h1=5m,3m<h2<9m时:

① 对h2求偏导,并令其为0:

②运用MATLAB求出极值点

solve('3/((h^2+(20-x)^2)^(3/2))-3*(3*h^2)/((h^2+(20-x)^2)^(5/2))=0')  

           ans =

               20+2^(1/2)*h

               20-2^(1/2)*h

③ 对x求偏导,并令其为0:

④ 通过MATLAB,将步骤②中计算出的关于h2的表达式带入上式,并求出h2的值;

solve('-30*(20-2^(1/2)*h)/((25+(20-2^(1/2)*h)^2)^(5/2))+9*h*(20-(20-2^(1/2)*h))/((h^2+(20-(20-2^(1/2)*h))^2)^(5/2))=0')  

ans =

 7.4223928896768612557104509932965

⑤通过MATLAB,利用已求得的h2,计算得到x,并进一步计算得到I

h=7.42239;

x=20-2^(1/2)*h

I=10/((25+x^2)^(3/2))+(3*h)/((h^2+(20-x)^2)^(3/2))  

x =

    9.5032

I =

0.0186  

3.当h1,h2均在3m-9m之间时:

①同上,通过MATLAB求解下面的方程组:

solve('p1/(h1^2+x^2)^(3/2)-3*p1*h1^2/(h1^2+x^2)^(5/2)')

solve('3/((h^2+(20-x)^2)^(3/2))-3*(3*h^2)/((h^2+(20-x)^2)^(5/2))=0')

ans =

  2^(1/2)*h1

 -2^(1/2)*h1

ans =

 20+2^(1/2)*h

 20-2^(1/2)*h

②根据实际,选择x=h1,x=20-h2,带入第三个式中,得:

③利用MATLAB,求得x值:

s=solve('1/((20-x)^3)=2/(3*(x^3))');

s1=vpa(s,6)

s1 =

           9.32530

 7.33738+17.0093*i

 7.33738-17.0093*i

④ 按照实际需求,选择x=9.32525

⑤ 带入求解I,并比较得到亮度最大的最暗点

h1=(1/sqrt(2))*9.32525

h2=(1/sqrt(2))*(20-9.32525)  

h1 =

    6.5939

h2 =

    7.5482  

四、 计算结果

1.当h1=5m,h2=6m时:

x=9.33m时,为最暗点,I=0.01824393;x=19.97m时,为最亮点,I=0.08447655。

2.当h1=5m,3m<h2<9m时:

x=9.5032,h2=7.42239时,路面上最暗点的亮度最大,I=0.0186w。

3.当h1,h2均在3m-9m之间时:

h1=6.5939,h2=7.5482,x=9.32525时,路面上最暗点的亮度最大。

2 火箭问题

小型火箭初始重量为1400kg,其中包括1080kg燃料。火箭竖直向上发射时燃料的燃烧率为18kg/s,由此产生32 000N的推力,火箭引擎在燃料用尽时关闭。设火箭上升时的空气阻力正比于速度的平方,比例系数为0.4kg/m。求引擎关闭瞬间火箭的高度、速度、加速度,及火箭到达最高点时的高度和加速度,并画出高度、速度、加速度随时间变化的图形。

解析:火箭上总共携带燃料1080kg,燃料燃烧率为18kg/s,火箭上升时间t=60s时,燃料全部烧尽。阻力正比于速度的平方,比例系数0.4kg/m,可知阻力表达式为f=0.4v2。由于燃料燃烧,火箭的质量是时间的函数,m(t)=11400-18t

火箭升空速度和加速度变化可分为两个阶段;

第一阶段:燃料燃烧产生的推力恒定,随着燃料的不断消耗,火箭的质量m降低,可得出火箭的速度v以及加速度a是变化的,由牛顿第二定律,根据速度与时间关系,建立微分方程组。

第二阶段,燃料耗尽,此时火箭的质量m恒定。引擎关闭的瞬间,火箭剩余质量:m=1400-1080=320kg,由于火箭运动受到阻力的作用,火箭先加速,后减速。火箭将达到最高速度。

五、 算法与编程

由题目已知条件可设置变量:加速度a 质量m 时间t 速度v  合力f

求出有关于v的微分方程

第一阶段

clear

syms a m t v f

m=1400-18*t

f=320##-0.4*v^2-9.8*m

a=f/m

m =

 1400-18*t

 f =

 18280+882/5*t-2/5*v^2

 a =

 (18280+882/5*t-2/5*v^2)/(1400-18*t)

odefun=@(t,v)(18280+882/5*t-2/5*v^2)/(1400-18*t);

s = cumsum(v).*0.1;

subplot(2,2,1)

plot(t,s);

grid on

xlabel('时间');ylabel('高度')

title('1.h/t')

[t,v]=ode45(odefun,[0:0.1:60],[0]);

subplot(2,2,2)

plot(t,v);

grid on

xlabel('时间');ylabel('速度')

title('2.v/t')

a=diff(v)/0.1;

t2 = [0:0.1:59.9];

subplot(2,2,3)

plot(t2,a);

grid on

xlabel('时间');ylabel('加速度')

title('3.a/t')

 

第二阶段

火箭由重力作用上升,燃料耗尽后火箭质量为320kg。由牛顿第二定律

可再次列出微分方程,t>60s.

记y =(h, v)T

function dy = Rocket(t,y)

dy=[v;-9.8-0.4*v.^2/320];

ts=0:60

x0=[0,0];

[t,x]=ode45(@Rocket,ts,x0);

[t,x]

for n=1:2000

T=100-0.01*n;

tss=60:0.02:T;

y0=[x(61,1),x(61,2)];

option=odeset('reltol',1e-3,'abstol',1e-6);

[t2,y]=ode45(@Rocket,tss,y0,option);

[t2,y];

if y(:,2)>=0

break

end

end

plot(t,x(:,1),'b',t2,y(:,1),'r'),grid,

title('图1.高度-时间')

xlabel('t/s')

ylabel('h/m')

pause

plot(t,x(:,2),'b',t2,y(:,2),'r'),grid,

title('图2.速度-时间')

xlabel('t/s')

ylabel('v/(m/s)')

pause

a=(320##-0.4*x(:,2).^2)./(1400-18*t)-9.8;

a2=-9.8-0.4*y(:,2).^2/320;

plot(t,a,'b',t2,a2,'r'),grid,

title('图3.加速度-时间')

xlabel('t/s')

ylabel('a/(m/s^2)')

六、 计算结果

由MATLAB求解得: 

引擎关闭瞬间引擎关闭瞬间:

火箭的高度为h=12190m,速度v=267.26m/s,加速度a=0.91701m/s2。

引擎关闭后:

当t=71.31s 时,火箭上升到最大高度h= 13115m,此时火箭的速度v=0.019874,几乎可认为已经停止,加速度a=-9.8m/s2。

 


第二篇:数学建模实验报告之曲线插值


东南大学《数学实验》报告

学号 09008226   姓名             成绩          

实验内容:曲线插值

实验目的

常见插值函数的求解及应用

预备知识

   (1) 熟悉一般的曲线插值的方法

(2) 熟悉“\”、polyfit、polyval、interp1、spline、cscvn等Matlab命令

实验内容与要求

(1)已知某平原地区的一条公路经过如下坐标所表示的点,请用样条插值绘出这条公路(不考虑公路的宽度)。

完整代码:

function interpolation

%路线x轴上单调递增到最大值

road_x1 = [  0, 30, 50, 70, 80, 90, 120, 148, 170, 180, 202, 212, 230, 248, 268, 271, 280, 290, 300, 312, 320, 340, 360, 372, 382, 390, 416, 430, 478];

road_y1 = [80, 64, 47, 42, 48, 66,   80, 120, 121, 138, 160, 182, 200, 208, 212, 210, 200, 196, 188, 186, 200, 184, 188, 200, 202, 240, 246, 280, 296];

%插值0到478

x1 = 0:478;

y1 = interp1(road_x1,road_y1,x1,'spline');

length1 = 0;

%计算这段路程长度

for i = 0:477

    y_i = abs(interp1(road_x1,road_y1,i+1)-interp1(road_x1,road_y1,i));

    length1 = length1+sqrt(1+(y_i)^2);

end

%做图并保持到下一个,一起绘制图形

plot(road_x1,road_y1,'.',x1,y1);

hold on;

 %x轴上单调递减,第二段

road_x2 = [478, 440, 420, 380, 360, 340, 320, 314, 280, 240, 200];

road_y2 = [296, 308, 334, 328, 334, 346, 356, 360, 392, 390, 400];

%插值200到478

x2 = 200:478;

y2 = interp1(road_x2,road_y2,x2,'spline');

%计算该段路程长度

length2 = 0;

for j = 200:477

    y_j = abs(interp1(road_x2,road_y2,j+1)-interp1(road_x2,road_y2,j));

    length2 = length2+sqrt(1+(y_j)^2);

end

%绘图

plot(road_x2,road_y2,'.',x2,y2);

%plot(road_x2,road_y2)

hold off;

%输出路线总长度

disp('路线总长度:');

length = length1+length2

结果输出:

路线总长度:

length =

  967.4565

绘制图形:

更多相关推荐:
数学实验报告

西安交通大学数学实验报告高等数学实验报告MATLAB实验操作报告同组人髙加西20xx年04月10日电气工程学院电气工程与自动化专业电气12崔彧菲西安交通大学数学实验报告实验一非线性方程组求解一实验目的1熟悉MA...

数学实验实验报告

数学实验实验报告20xx20xx学年第1学期学生姓名学号院部数理学院专业班级任课教师实验报告1实验目的熟悉Mathematica软件包的使用实验内容1用两种方式编写如下自定义函数并求其导数fx在x20x10x5...

数学实验实验报告六答案

实验六实验项目名称优化实验时间20xx52620xx6220xx69实验地点理学实验楼525实验目的1掌握Matlab优化工具箱的基本用法利用优化工具包解线性规划和非线性规划的问题对不同算法作初步分析比较2练习...

数学实验实验报告模板

天水师范学院数学与统计学院实验报告实验项目名称所属课程名称实验类型线性代数实验实验日期班级学号姓名成绩12附录1源程序附录2实验报告填写说明1实验项目名称要求与实验教学大纲一致2实验目的目的要明确要抓住重点符合...

数学实验实验报告

数学与计算科学学院实验报告实验项目名称油价与船速的优化问题所属课程名称数学实验实验类型综合实验日期20xx922班级学号姓名成绩123附录2实验报告填写说明1实验项目名称要求与实验教学大纲一致2实验目的目的要明...

数学实验报告格式

数学实验实验报告20xx年03月30日一实验问题1某公司指派5个员工到5个城市工作每个城市单独一人希望使所花费的总电话费用尽可能少5个员工两两之间每个月通话的时间表示在下面的矩阵的上三角部分因为通话的时间矩阵是...

《数学实验》实验报告

数学实验实验报告20xx年4月8日一实验问题1指派问题考虑指定n个人完成n项任务每人单独承担一项任务使所需的总完成时间成本尽可能短已知某指派问题的有关数据每人完成各任务所需的时间如下表所示试建模并求解该指派问题...

中南大学离散数学实验报告

离散数学实验报告目录第一章实验概述311实验目的312实验内容313实验环境3第二章实验原理和实现过程421实验原理4211逻辑连接词的运算4212真值表与主范式422实验过程算法描述4221程序整体思路422...

离散数学实验报告

离散数学实验报告实验ABC专业班级学生姓名学生学号指导老师完成时间离散数学实验三实验报告目录第一章实验概述211实验目的212实验内容213实验环境2第二章实验原理和实现过程321实验原理3211建立图的邻接矩...

(11)中南大学离散数学实验报告

离散数学实验报告实验1专业班级学号姓名日期20xx111目录一实验目的2二实验内容21逻辑联接词的运算22求任意一个命题公式的真值表3三实验环境3四实验原理和实现过程算法描述31实验原理32实验过程4五实验数据...

(3)中南大学离散数学实验报告 (1)

离散数学实验报告实验ABC专业班级学生姓名学生学号指导老师完成时间离散数学实验三实验报告目录第一章实验概述211实验目的212实验内容213实验环境2第二章实验原理和实现过程321实验原理3211建立图的邻接矩...

数学实验报告

数学实验报告实验序号1日期20xx年11月19日

数学实验实验报告(35篇)