数学实验作业_第1页
数学实验作业_第2页
数学实验作业_第3页
数学实验作业_第4页
数学实验作业_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、重 庆 大 学学 生 实 验 报 告实验课程名称 数学实验 开课实验室 学 院 计算机学院 年级 大二 专业 计科三班 学 生 姓 名 学 号 开 课 时 间 至 学年第 学期总 成 绩教师签名数 理 学 院 制开课学院、实验室: DS1401 实验时间 : 2013 年 3月 24 日课程名称数学实验实验项目名 称 飞机如何定价方程求解实验项目类型验证演示综合设计其他指导教师成 绩实验目的 1 复习求解方程及方程组的基本原理和方法;2 掌握迭代算法;3 熟悉MATLAB软件编程环境;掌握MATLAB编程语句(特别是循环、条件、控制等语句);4 通过范例展现求解实际问题的初步建模过程; 通过该

2、实验的学习,复习和归纳方程求解或方程组求解的各种数值解法(简单迭代法、二分法、牛顿法、割线法等),初步了解数学建模过程。这对于学生深入理解数学概念,掌握数学的思维方法,熟悉处理大量的工程计算问题的方法具有十分重要的意义。基础实验一、实验内容 1方程求解和方程组的各种数值解法练习 2直接使用MATLAB命令对方程和方程组进行求解练习 3针对实际问题,试建立数学模型,并求解。二、实验步骤1开启软件平台MATLAB,开启MATLAB编辑窗口; 2根据各种数值解法步骤编写M文件3保存文件并运行;4观察运行结果(数值或图形);5根据观察到的结果写出实验报告,并浅谈学习心得体会。三、实验要求与任务1用图形

3、放大法求解方程 x sin(x) = 1. 并观察该方程有多少个根。2将方程x5 +5x3- 2x + 1 = 0 改写成各种等价的形式进行迭代,观察迭代是否收敛,并给出解释。3用MATLAB命令求下列方程的根 1)e-3xsin(4x+2)+4 e-0.5xcos(2x) =0.5 2)应用实验1. 炮弹发射角的问题炮弹发射视为斜抛运动,已知初始速度为200 m/s,问要击中水平距离360m、垂直距离160m 的目标,当忽略空气阻力时,发射角应多大?此时炮弹的运行轨迹如何?试进行动态模拟。进一步思考:如果要考虑水平方向的阻力,且设阻力与(水平方向)速度成正比,系数为 0.1(1/s),结果又

4、如何?此时炮弹的运行轨迹如何?试进行动态模拟。4、 实验过程及结果1 用图形放大法求解方程 x sin(x) = 1. 并观察该方程有多少个根。程序:x=-100:0.01:100;y=x.*sin(x);plot(x,y),hold on,line(-100,100,0,0)运行程序: 逐次缩小区间,观察一个根在-4到-2 取x=-10到10 取x=-10到0 取x=-4到0 取x=-4到-2结果:由图可知,该方程有无数组解2 将方程x5 +5x3- 2x + 1 = 0 改写成各种等价的形式进行迭代,观察迭代是否收敛,并给出解释。解:迭代函数为,算法设计为:x1=0;x2=(x15+5*x

5、13+1)/2;while abs(x1-x2)>10(-5) x1=x2; x2=(x15+5*x13+1)/2;endx1输出结果为:x1 = Inf因此x=j(x)迭代不收敛,则不直接使用j(x)迭代,用加速迭代函数,算法设计为:x1=0; x2=(-4*x15-10*x13+1)/(-5*x14-15*x12+2);while abs(x1-x2)>10(-5) x1=x2; x2=(-4*x15-10*x13+1)/(-5*x14-15*x12+2);endx1输出结果为:x1 = -0.7685迭代函数为,算法设计为:x1=1;x2=(2*x1-x15-1)/5)(1/

6、3);while abs(x1-x2)>10(-5) x1=x2; x2=(2*x1-x15-1)/5)(1/3);endx1输出结果为:x1 = Inf - Infi因此x=j(x)迭代不收敛,则不直接使用j(x)迭代,用加速迭代函数,算法设计为:x1=0;x2=(0.4*x1-0.2*x15-0.2)(1/3)-1/15*(0.4*x1-0.2*x15-0.2)(-2/3)*(2*x1-5*x15)/(1-(1/15*(0.4*x1-0.2*x15-0.2)(-2/3)*(2-5*x14);while abs(x1-x2)>10(-5) x1=x2;x2=(0.4*x1-0.2

7、*x15-0.2)(1/3)-1/15*(0.4*x1-0.2*x15-0.2)(-2/3)*(2*x1-5*x15)/(1-(1/15*(0.4*x1-0.2*x15-0.2)(-2/3)*(2-5*x14);endx1输出结果为:x1 = 0.4004 + 0.2860i迭代函数为,算法设计为:x1=0;x2=(2*x1-5*x13-1)(1/5);for k=1:100 x1=x2; x2=(2*x1-5*x13-1)(1/5);endx1输出结果为:x1 = 2.0162 - 0.8223i若用加速迭代函数,算法设计为:x1=0;x2=(2*x1-5*x13-1)(1/5)-1/5*(

8、2*x1-5*x13-1)(-4/5)*(2*x1-15*x13)/(1-1/5*(2*x1-5*x13-1)(-4/5)*(2-15*x12);for k=1:100 x1=x2; x2=(2*x1-5*x13-1)(1/5)-1/5*(2*x1-5*x13-1)(-4/5)*(2*x1-15*x13)/(1-1/5*(2*x1-5*x13-1)(-4/5)*(2-15*x12);endx1输出结果为:x1 = -0.1483 + 0.7585i迭代函数为,算法设计为:x1=1;x2=0.2*(2/x1-1/x12-x13);for k=1:100 x1=x2; x2=0.2*(2/x1-1

9、/x12-x13);endx1输出结果为x1 = NaN因此x=j(x)迭代不收敛,则不直接使用j(x)迭代,用加速迭代函数,算法设计为:x1=1;x2=(2/x1-1/x12-x13)-x*(-2/x12+2/x13-3*x12)/(5-(-2/x12+2/x13-3*x12);for k=1:100 x1=x2; x2=(2/x1-1/x12-x13)-x*(-2/x12+2/x13-3*x12)/(5-(-2/x12+2/x13-3*x12);endx1输出结果为:x1 = 3.48458912724395623836迭代函数为,算法设计为:x1=1;x2=2/x13-5/x1-1/x1

10、4;for k=1:100 x1=x2; x2=2/x13-5/x1-1/x14;endx1输出结果为:x1= 1.8933若用加速迭代函数,算法设计为:x1=1;x2=(2/x13-5/x1-1/x14)-x*(-6/x4+5/x2+4/x5)/(1-(-6/x4+5/x2+4/x5);for k=1:100 x1=x2; x2=(2/x13-5/x1-1/x14)-x*(-6/x4+5/x2+4/x5)/(1-(-6/x4+5/x2+4/x5);endx1输出结果为:x1 = 1.79681783255756706113 3用MATLAB命令求下列方程的根 1)e-3xsin(4x+2)+

11、4 e-0.5xcos(2x) =0.5程序:solve('exp(-3*x)*sin(4*x+2)+4*exp(-0.5*x)*cos(2*x)=0.5 ')运行:ans = .6737457742)程序:x y=solve('(x2)*exp(-x*y2/2)+exp(-x/2)*sin(x*y)=0','(x2)*cos(x+y2)+(y2)*exp(x+y)=0','x','y')运行:x = 0 y = 0应用实验1. 炮弹发射角的问题炮弹发射视为斜抛运动,已知初始速度为200 m/s,问要击中水平距离3

12、60m、垂直距离160m 的目标,当忽略空气阻力时,发射角应多大?此时炮弹的运行轨迹如何?试进行动态模拟。进一步思考:如果要考虑水平方向的阻力,且设阻力与(水平方向)速度成正比,系数为 0.1(1/s),结果又如何?此时炮弹的运行轨迹如何?试进行动态模拟。解: 问题分析炮击目标确定后,如何调整发射角度使炮弹能准确地落在目标位置处爆炸,需要考虑一下三个方面的变化量:1. 发射速度大小不变的情况下,发射角度是可以随意调整的;2. 对于某固定的发射角,炮弹在运动过程中,纵向分速度受重力加速度的影响而随时间不断地变化;3. 若考虑水平方向的阻力,则阻力带来的水平加速度也会对水平分速度造成随时间变化的影

13、响。 数学模型的建立与求解 求解步骤或思路:1. 首先建立一个函数bomb1,实现以下功能:对于每个输入的确定的水平分速度,都能计算出炮弹运动到横坐标为360时,与点(360,160)的距离;2. 再建立一个函数bomb2,实现以下功能:对于每个输入的确定的水平分速度,都能描绘出炮弹的等时间间隔的轨迹;3. 最后建立一个M文件bomb0,利用循环不断改变水平分速度,调用函数bomb1和bomb2,实现以下功能:寻找出炮弹运动到横坐标为360时,与点(360,160)的距离小于某限定值的水平分速度,最后通过这一求出的水平分速度,求出炮弹发射角度及描绘炮弹运动轨迹。4. 细节问题:为了使炮弹的轨迹

14、更连贯,时间间隔应该尽可能地小;时间间隔减小,会增加运算次数,增加运算时间,因此有必要先选取合理计算范围,缩短计算时间;选取合理计算范围方法:先输入几个间隔较大的水平分速度值,估计范围,再逐步逼近范围。实验结果及分析 无空气阻力情况下炮弹的运动图像及炮弹发射夹角: angle = 26.4244有空气阻力情况下炮弹的运动图像及炮弹发射夹角:angle = 24.6241 程序设计:无空气阻力:bomb10.m:x(1)=178.8;delta=0.0001;f(1)=bomb11(x(1);fmin=1000;i=0;while x<180 i=i+1; f(i)=bomb11(x(i)

15、; if f(i)<fmin fmin=f(i); xmin=x(i); end x(i+1)=x(i)+delta;endangle=acos(xmin/200)/pi*180bomb12(xmin)bomb11.m:function f=bomb11(x)Vy=sqrt(2002-x2);A=0+1i*0;Point=360+1i*160;t=0;while (x*t<=360) t=t+0.01; Vy=Vy-9.8*0.01; A=A+(x+1i*Vy)*0.01;endf=abs(A-Point);bomb12.m:function bomb12(x)Vy=sqrt(20

16、02-x2);A=0+1i*0;t=0;hold on;while (x*t<=360) t=t+0.01; Vy=Vy-9.8*0.01; A=A+(x+1i*Vy)*0.01; plot(x*t,sqrt(2002-x2)*t-4.9*t2,'.');endhold off;grid;有空气阻力:bomb20.m:x(1)=181;delta=0.0001;f(1)=bomb21(x(1);fmin=1000;i=0;while x<183 i=i+1; f(i)=bomb21(x(i); if f(i)<fmin fmin=f(i); xmin=x(i)

17、; end x(i+1)=x(i)+delta;endangle=acos(xmin/200)/pi*180bomb22(xmin)bomb21.m:function f=bomb21(x)Vx=x;Vy=sqrt(2002-x2);A=0+1i*0;Point=360+1i*160;t=0;S=0;while (S<=360) t=t+0.01; Vx=Vx-0.1*Vx*0.01; Vy=Vy-9.8*0.01; A=A+(Vx+1i*Vy)*0.01; S=S+Vx*0.01;endf=abs(A-Point);bomb22.m:function bomb22(x)Vx=x;Vy=sqrt(2002-x2);A=0+1i*0;t=0;S=0;hold on;while (S<=360) t=t+0.01; Vx=Vx-0.1*Vx*0.01; V

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论