实验2方程模型及其求解算法.docx
- 文档编号:7878597
- 上传时间:2023-05-12
- 格式:DOCX
- 页数:14
- 大小:178.63KB
实验2方程模型及其求解算法.docx
《实验2方程模型及其求解算法.docx》由会员分享,可在线阅读,更多相关《实验2方程模型及其求解算法.docx(14页珍藏版)》请在冰点文库上搜索。
实验2方程模型及其求解算法
实验2方程模型及其求解算法
一、实验目的及意义
[1]复习求解方程及方程组的基本原理和方法;
[2]掌握迭代算法;
[3]熟悉MATLAB软件编程环境;掌握MATLAB编程语句(特别是循环、条件、控制等语句);
[4]通过范例展现求解实际问题的初步建模过程;
通过该实验的学习,复习和归纳方程求解或方程组求解的各种数值解法(简单迭代法、二分法、牛顿法、割线法等),初步了解数学建模过程。
这对于学生深入理解数学概念,掌握数学的思维方法,熟悉处理大量的工程计算问题的方法具有十分重要的意义。
二、实验内容
1.方程求解和方程组的各种数值解法练习
2.直接使用MATLAB命令对方程和方程组进行求解练习
3.针对实际问题,试建立数学模型,并求解。
三、实验步骤
1.开启软件平台——MATLAB,开启MATLAB编辑窗口;
2.根据各种数值解法步骤编写M文件
3.保存文件并运行;
4.观察运行结果(数值或图形);
5.根据观察到的结果写出实验报告,并浅谈学习心得体会。
四、实验要求与任务
基础实验
1.用图形放大法求解方程xsin(x)=1.并观察该方程有多少个根。
用matlab实现:
symsxy
x=-3:
0.1:
3
y=x.*sin(x)-1
plot(x,y)
grid
ezplot('x*sin(x)-1',[-100,100]);grid
如图:
放大图像求得两个个解为-1.11和1.11
所以有无数个解。
2.将方程x5+5x3-2x+1=0改写成各种等价的形式进行迭代,观察迭代是否收敛,并给出解释。
首先先观察其本身图像:
x1=-2:
0.01:
2;
x2=-0.8:
0.01:
0.7;
y1=x1.^5+5*x1.^3-2*x1+1;
y2=x2.^5+5*x2.^3-2*x2+1;
subplot(2,2,1),plot(x1,y1),
title('原图'),gridon,
subplot(2,2,2),plot(x4,y4),
title('放大'),gridon
所以解在-0.76—-0.77之间
构造迭代函数:
用matlab实现如下:
x
(1)=-0.77;y
(1)=-0.77;
fori=2:
20
x(i)=(x(i-1)^5+5*x(i-1)^3+1)/2;
y(i)=(-y(i-1)^5+2*y(i-1)-1)/(5*y(i-1)^2);
end
k=1:
20
subplot(2,2,1),plot(k,x),title('f
(1)');
subplot(2,2,2),plot(k,y),title('f
(2)');
如图:
经观察发现不收敛。
设定迭代函数为:
初始值设置为0.75
观察发现收敛。
3.求解下列方程组
直接使用MATLAB命令:
solve()和fsolve()对方程组求解。
(1)
symsxy
[x,y]=solve('2*x-y-exp(-x)=0','2*y-x-exp(-y)=0','x','y')
x=
0.5671
y=
0.5671
(2)
symsx1x2x3
symsx1x2x3
[x1,x2,x3]=solve('x1^2-5*x2^2+7*x3^2+12','3*x1*x2+x1*x3-11*x1=0','2*x2*x3+40*x1=0','x1','x2','x3');
x1=double(x1),
x2=double(x2),
x3=double(x3)
x1=1.0e+002*
0
0
0
0
0.0100
-0.0031
-3.8701-0.3270i
-3.8701+0.3270i
x2=
-1.5492
1.5492
0
0
5.0000
2.9579
-0.3123+50.8065i
-0.3123-50.8065i
x3=1.0e+002*
0
0
0+0.0131i
0-0.0131i
-0.0400
0.0213
0.1194-1.5242i
0.1194+1.5242i
4.编写用二分法求方程根的函数M文件。
应用实验
1.油价与船速的优化问题
油价的上涨,将影响大型海船确定合理的航行速度,以优化航行收入。
直观地,油耗的多少直接影响船速的快慢,因而直接影响航行时间的长短,进而影响支付船员人工费用数量。
过去有一些经验表明:
(1)油耗正比于船速的立方;
(2)最省油航速的基础上改变20%的速度;则引起50%的油耗的变化。
作为一个例子:
某中型海船,每天油耗40吨,减少20%的航速,省油50%、即20吨。
每吨油价250美元,由此每天减少耗油费用5000美元,而航行时间的增加将增加对船员支付的费用的增加,如何最优化?
算例:
航程L=1536海里,标准最省油航速20节,油耗每天50吨,航行时间8天。
最低航速10节,本次航行总收入为84600美元。
油价250美元/吨,日固定开支1000美元。
试确定最佳航速。
2.炮弹发射角的问题
炮弹发射视为斜抛运动,已知初始速度为200m/s,问要击中水平距离360m、垂直距离160m的目标,当忽略空气阻力时,发射角应多大?
此时炮弹的运行轨迹如何?
试进行动态模拟。
进一步思考:
如果要考虑水平方向的阻力,且设阻力与(水平方向)速度成正比,系数为0.1(1/s),结果又如何?
此时炮弹的运行轨迹如何?
试进行动态模拟。
(1)忽略空气阻力情况:
设v0=200m/s,x0=360m,y0=150m,击中目标的时刻设为t。
由速度分解可知,在水平方向上是匀速运动,方程为:
tv0cos(a)=x0;式
(1)
垂直方向为匀变速运动,t时刻方程为:
tv0sin(a)-1/2gt2=y0;式
(2)(a在0-
之间)
消去t,易得360*tan(a)-15.876/cos(a)2-160=0
用matlab作图:
a=0:
0.1:
2*pi;
y=360*tan(a)-15.876./cos((a).^2)-160;
plot(a,y)
gridon
holdon
得到图像如下:
通过放大图像可得:
在0-
之间满足方程的解为0.454和1.5284
(2)考虑空气阻力情况:
假设水平方向的阻力,且设阻力与(水平方向)速度成正比,系数为0.1(1/s)
水平方向上满足方程:
dv/dt=0.1v*cos(a);其中v0=200m/s;式
(1)(其中a在0-
之间)
则垂直方向上速度依旧满足方程:
tv0sin(a)-1/2gt2=y0;式
(2)
消去t可得:
-2000tana*ln(1-360cos(a)/2000)+(4.9*100/cos(a)2)*ln2(1-36cos(a)/2000)-160=0
用matlab作图:
a=0.4:
0.01:
0.6;
y=1.6+20*tan(a).*log(1-36*cos(a)./200)+4.9*(log((1-36*cos(a)./200))).^2./(cos(a)).^2;
plot(a,y);gridon;
放大图像如下:
所以在0-
之间得到解为0.4733
3.小行星的运动轨道问题
一天文学家要确定一颗小行星绕太阳运行的轨道,他在轨道平面内建立以太阳为原点的直角坐标系,其单位为天文测量单位。
在5个不同的时间对小行星作了5次观察,测得轨道上5个点的坐标数据如下表:
1
2
3
4
5
x
5.764
6.286
6.759
7.168
7.408
y
0.648
1.202
1.823
2.526
3.360
请确定该小行星绕太阳运行的轨道,并且画出小行星的运动轨迹。
模型分析:
根据开普勒行星轨道定律,小行星的轨道为一个椭圆,以太阳为中心,设椭圆的轨道方程为:
,所以只需要确定方程的系数即可。
根据题目已知条件,可以得到线性方程组:
写成矩阵的形式即是:
Ax=b
易知
所以假设:
1.小行星轨道满足开普勒第一定律;
2.以太阳为原点;
3.所测量的已知数据真实有效。
所以该问题转化为对上述方程组的求解,在进一步转化为对以下矩阵方程的求解:
建立plant.m文件,内容如下:
A=[33.22377.47010.419911.52801.2960;39.513815.11151.444812.57202.4040;45.684124.64333.323313.51803.6460;51.380236.21276.380714.33605.0520;54.878549.781811.289614.81606.7200]
b=[-1.0;-1;-1;-1;-1]
a=A\b
得到方程的解为:
a=
0.0507
-0.0351
0.0381
-0.2265
0.1321
所以最后的轨道方程为:
0.0507x2-0.0702xy+0.0381y2-0.4530x+0.2642y+1=0
在上述plant.m文件中加上这句:
ezplot('0.0507*x^2-0.0702*x*y+0.0381*y^2-0.4530*x+0.2642*y+1',[3,9,-1,4])
可以锝图:
4.GPS全球定位系统是一个基于卫星的导航系统。
其原理如下:
有30个卫星绕地球运行。
任何时刻他们都知道自己的准确位置,每隔几秒种,所有卫星都同步地发出表明自己准确位置的信号
综合实验
数码相机定位
数码相机定位在交通监管(电子警察)等方面有广泛的应用。
所谓数码相机定位是指用数码相机摄制物体的相片确定物体表面某些特征点的位置。
最常用的定位方法是双目定位,即用两部相机来定位。
对物体上一个特征点,用两部固定于不同位置的相机摄得物体的像,分别获得该点在两部相机像平面上的坐标。
只要知道两部相机精确的相对位置,就可用几何的方法得到该特征点在固定一部相机的坐标系中的坐标,即确定了特征点的位置。
于是对双目定位,精确地确定两部相机的相对位置就是关键,这一过程称为系统标定。
标定的一种做法是:
在一块平板上画若干个点,同时用这两部相机照相,分别得到这些点在它们像平面上的像点,利用这两组像点的几何关系就可以得到这两部相机的相对位置。
然而,无论在物平面或像平面上我们都无法直接得到没有几何尺寸的“点”。
实际的做法是在物平面上画若干个圆(称为靶标),它们的圆心就是几何的点了。
而它们的像一般会变形,如图1所示,所以必须从靶标上的这些圆的像中把圆心的像精确地找到,标定就可实现。
图1靶标上圆的像
有人设计靶标如下,取1个边长为100mm的正方形,分别以四个顶点(对应为A、C、D、E)为圆心,12mm为半径作圆。
以AC边上距离A点30mm处的B为圆心,12mm为半径作圆,如图2所示。
图2靶标示意图
用一位置固定的数码相机摄得其像,如图3所示。
图3靶标的像
请你们:
(1)建立相机针孔成像模型
把数码相机成像模型简化为针孔成像模型,不考虑镜头的非线性畸变等因素。
建立物平面上一点P(x,y,z)在像平面上的像(u,v,f)的变换关系模型,f为像距。
这里坐标系原点取在该相机的光学中心,x-y平面平行于像平面。
(2)靶标平面上的直线和圆在像平面的像
利用
(1)得到的变换模型证明直线的像仍为直线,圆的像为椭圆,而圆心的像一般不是椭圆的中心。
(3)确定像平面上椭圆的方程
对由图2、图3分别给出的靶标及其像,求出像平面上5个椭圆的方程。
该相机的像距(即光心到像平面的距离)是1577个像素单位(1毫米约为3.78个像素单位),相机分辨率为1024×768。
提示:
可以利用ACDsee软件将图3转化为一个BMP图像文件,然后利用MATLAB软件来得到图像边缘点的像素坐标,根据像素单位和毫米的换算可以得到边缘点的图像坐标。
图像上每个像素(点)都存在灰度,灰度值的取值规定为:
0——黑色,255——白色,依据颜色的深浅灰度值范围为0——255。
图像读取函数imread可以读入一个图像,edge函数可以得到图像边缘点的坐标。
(4)求圆心像的公切线方法
物平面上各圆的公切点的像点也是对应椭圆的公切点,物平面上两直线的交点的像点也是对应直线的交点。
利用这两个结论设计算法求靶标上圆的圆心在像平面上的像坐标。
(5)求圆心像的非线性方程组模型方法
由相片获取的靶标圆的像的边界坐标数据,根据这些边界点的原像落在靶标平面且落在对应圆周上的性质,利用光学成像原理建立确定靶标平面方程和靶标圆的圆心坐标的非线性方程组数学模型并求解,进一步求出靶标圆心像的坐标。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验2 方程模型及其求解算法 实验 方程 模型 及其 求解 算法
![提示](https://static.bingdoc.com/images/bang_tan.gif)