数学实验报告Word格式文档下载.docx

上传人:b****5 文档编号:20768189 上传时间:2023-01-25 格式:DOCX 页数:12 大小:326.95KB
下载 相关 举报
数学实验报告Word格式文档下载.docx_第1页
第1页 / 共12页
数学实验报告Word格式文档下载.docx_第2页
第2页 / 共12页
数学实验报告Word格式文档下载.docx_第3页
第3页 / 共12页
数学实验报告Word格式文档下载.docx_第4页
第4页 / 共12页
数学实验报告Word格式文档下载.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

数学实验报告Word格式文档下载.docx

《数学实验报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数学实验报告Word格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。

数学实验报告Word格式文档下载.docx

2012年04月10日

实验一非线性方程(组)求解

一、实验目的

1.熟悉MATLAB软件中非线性方程组的求解命令及其用法

2.掌握求非线性方程近似根的常用数值方法——迭代法

二、实验问题

第一题

有一艘宽为5m的长方形驳船欲驶过某河道的直角弯,经测量知河道的宽度为10m和12m,如图11.9所示.试问,要驶过该直角弯,驳船的长度不能超过多少米?

(误差<

0.001m)

方法一:

如图所示,设参数为θ,船长L,由几何关系知:

此式中,L的值随θ的变化而变化,要使船身能通过直角弯道,则L的最小值即为所求船舶的最长长度,下面用matlab画出函数相应图形,并在给定区间上求出该最小值,程序如下:

设河道的长和宽分别为a和b,船宽为c,船长为L;

L=inline('

(b+a/tan(t)-c/sin(t))/cos(t)'

'

t'

a'

b'

c'

);

x=[0:

0.01:

pi/2];

newplot;

axis([0,pi/2,0,100]);

holdon;

%a=10,b=12,c=5

y=[];

fori=xy=[y,L(i,10,12,5)];

end

plot(x,y);

%a=12,b=10,c=5//调换a和b的值,重新做出图像。

fori=xy=[y,L(i,12,10,5)];

函数图像如下:

由图可知,ab的顺序不影响函数最小值的位置,且该最小值位于区间(0.5,1)上。

f='

(12+10/tan(x)-5/sin(x))/cos(x)'

[x,fval]=fminbnd(f,0.5,1)//求(0.5,1)上的最小值,结果如下:

故L的最小值约为21.0372m

方法二:

以弯道的一边建立直角坐标系,另一边的交点坐标为(12,10),则L1的方程为y=kx-12k+10,由船宽为5米可知,另一边L2的方程为y=kx-12k+10-5

求出L2与x,y轴交点,则L=(10-12x-5

做出函数图像:

f=inline('

(10-12*x-5*(1+x^2)^(1/2))*(1+1/x^2)^(1/2)'

fplot(f,[-1,3])

;

[x,fval]=fminbnd(f,-1,0)//求出在(-1,0)的最小值,结果如下:

故L的最大长度约为21.0372m

三、实验总结与体会

1.更加了解了MATLAB软件的用法。

2.学会了编写matlab程序,能够将自己在草稿纸上建立的模型写到matlab程序中。

3.分析算法和调试程序的过程培养了我的逻辑思维能力。

实验二缉私艇追赶走私船模型试验

一.实验目的

1.学会用MATLAB软件求解微分方程的初值问题.

2.了解微分方程数值解思想

3.学会根据实际问题建立简单微分方程数学模型

4.了解计算机数据仿真,数据模拟的基本方法

二.实验过程及结果分析

第一步:

设施时间步长△t,速度vdog,vrabbit及初始位置

=0,

Xd=-

,Xr=-

第二步:

由tk时狗与兔子的位置坐标计算狗与兔子在

=tk+△t时的坐标(

)和(

):

第三步:

计算狗与兔子之间的距离

若距离小于设定的距离或时间超过15s,则退出循环,否则让时间产生一个步长,返回到第二步进入下一次循环.

第四步:

第一小题时,若在某一速度下,距离无法小于设定距离,则将速度加0.05,重新返回第二步,否则输出此时速度即为最小速度。

第二小题时,若距离小于设定距离,则输出时间,否则输出-1,即无法追上兔子。

三.程序设计

第一问,求狗的最小速度,运行过程如下:

vd=0;

vr=8;

dogxb=[];

dogyb=[];

rabbitxb=[];

rabbityb=[];

d=0.1;

dt=0.1;

rabbitx=0;

rabbity=0;

dogx=-100*sqrt

(2);

dogy=-100*sqrt

(2);

while(sqrt((dogx-rabbitx)^2+(dogy-rabbity)^2)>

d)

t=0;

vdog=vdog+0.1;

d&

&

t<

=15)

t=t+dt;

dogx=dogx+vd*dt*(rabbitx-dogx)/sqrt((rabbitx-dogx)^2+(rabbity-dogy)^2);

dogxb=[dogxb,dogx];

dogy=dogy+vd*dt*(rabbity-dogy)/sqrt((rabbitx-dogx)^2+(rabbity-dogy)^2);

dogyb=[dogyb,dogy];

rabbitx=rabbitx-vr*dt/sqrt

(2);

rabbitxb=[rabbitxb,rabbitx];

rabbity=rabbity+vr*dt/sqrt

(2);

rabbityb=[rabbityb,rabbity];

vdog

dogxb;

dogyb;

rabbitxb;

rabbityb;

plot(dogxb,dogyb,rabbitxb,rabbityb,'

*'

第二问,当vdog=15m/s时运行过程如下:

vd=15;

dogx=dogx+vd*dt*(rabbitx-dogx)/sqrt((rabbitx-dogx)^2+(rabbity-dogy)^2);

if(t>

15)

t=-1;

t

第三问,当vdog=18m/s时运行过程如下:

vd=18;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 书信模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1