网站大量收购闲置独家精品文档,联系QQ:2885784924

Matlab基本程序设计.ppt

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Matlab基本程序设计

追击问题的模拟实验 摩托车问题的程序设计 约瑟夫环问题的算法设计 问题与练习 MATLAB 程序设计 III 欧洲文艺复兴时期的著名人物 达·芬奇提出的“狼追兔子”问题: 当一只兔子在它的洞穴南面60码处觅食时,一只饿狼出现在它的正东100码处.兔子急奔自己的洞穴,狼以快兔子一倍的速度紧追兔子.兔子回 洞穴便可逃脱厄运, 问狼是否会追赶上 兔子? 追击问题 用计算机模拟 2/18 ?设在平面坐标系中有动点 Q 和动点P, 在初始时刻动点Q的坐标为(0, 0), 动点P的坐标为(100, 0)。在某一时刻, 动点Q 以均匀速度v0=1(m/min)沿Y轴正向运动,而动点P以2v0的速度追赶Q点。 计算机模拟 x O 100 60 y 在时刻 tk ,动点坐标分别为:Q(uk, vk),P(xk, yk),动点P的轨迹是追赶曲线。在t k 到t k+1 时段内,uk=0, vk= tk,P点在这一时段内运动方向由k时刻位置指向Qk,用单位向量描述 3/18 由于P点运动速度为Q点运动速度的两倍,而tk时刻P的坐标为(xk , yk ),故P点在tk+1 时刻的坐标(xk+1 , yk+1 )可表示为 以1秒钟为一个时间步长,模拟P点追赶Q点的运动过程。 4/18 xy=[100,0];uv=[0,0]; e=[-1,0];d=100; for k=1:59 xy(k+1,:)=xy(k,:)+2*e; uv(k+1,2)=k; e=uv(k+1,:)-xy(k+1,:); d=norm(e);e=e/d; end x=xy(:,1);y=xy(:,2); plot(x,y,*, 0,60,o) d 程序运行后,计算结果为 d= 8.0953 说明当Q点前进到60m时, P点没能追上Q点 5/18 当t =0时,导弹位于原点O, 敌机位于(V,H)点, H= 12000 (km). 当时刻t ,导弹位于P(x(t),y(t)) 实验设计题:导弹追击问题 12000 P(x, y) O 6/18 四人追逐问题:正方形ABCD四个顶点上各有一人,在某一时刻,四人同时出发以匀速v按逆时针方向追赶下一个人.追赶者始终以下一个人为追赶目标.(已解决) (1). 用计算机模拟方法画出四条追赶曲线. (2).能否建立数学模型? 7/18 一次军事演习中, A、B两队约好同一时间从相距离 100公里的各自的驻地出发相向运动, A队行进速度为 10(公里/小时), B队行进速度为8(公里/小时)。行军开 始时,通讯员骑摩托从A队驻地出发为行进中的两队 传递消息。摩托车的速度为60(公里/小时)往返于两队 之间. 每遇一队,立即折回驶向另一队.当两队距离小 于0.5公里时,摩托车停止。计算通讯员驾驶摩托车跑 了多少趟(从一队驶向另一队为一趟)。(已解决) ——摩托车问题—— 8/18 ——摩托车问题—— 问题分析: 相遇问题模型. 系统中有A、B、C三个点. 设A(队)出发点为x=0,速度为10;B(队)出发点为x=100速度为8. A向右运动,B向左运动. C(摩托)出发点为0, 第一趟向右。 用 “1”表示C向右运动,“–1”表示C向左运动; 当C向右运动时,为C、B相遇问题 当C向左运动时,为A、C相遇问题 每相遇一次,计算一次相遇时间、各点的位移和位置 当 (b – a)0.5时程序结束。 9/18 s2=100;s1=0;d=s2-s1; v1=10;v2=8;v0=60; f=1;k=0 while d0.5 if f==1 t=d/(v1+v0); else t=d/(v2+v0); end s1=s1+v1*t; s2=s2-v2*t; d=s2-s1; f=-f;k=k+1; end k,s1 MATLAB程序 10/18 有n个人围成一圈,顺序排号,从第一个人开始报数(从1到m报数),凡报到m的人退出圈子,问最后留下的是原来第几号? 约瑟夫环问题 n k 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 10 1 1 0 1 1 0 1 1 0 1 3 6 9 2 7 1 8 5 10 4 1 0 0 1 1 0 0 1 0 1 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 11/18 n =input(input n:=); m = input(input m(=n):= ); a=ones(1,n); p=0;s=0; while pn for k=1:n s=s+a(

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档