计算机模拟方法讲述.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机模拟方法讲述

计算机模拟方法 一.四人追逐实验模拟 如图1,在正方形ABCD的四个顶点各有一个人。设在初始时刻时,四人同时出发匀速以沿顺时针走向下一个人。如果他们始终对准下一个人为目标行进,最终结果会如何。作出各自的运动轨迹。 解:该问题可以通过计算机模拟来实现。这需要将时间离散化。设时间间隔为,时刻表示时间 设第个人时刻的位置坐标为: 对前面3个人表达式为: 其中 对第4个人表达式为: 其中 Matlab实现程序run.m如下: %模拟运动 n=240; x=zeros(4,n); y=zeros(4,n); dt=0.05; %时间间隔 v=10; %速度 x(1,1)=100; y(1,1)=0; %第1个人初始坐标 x(2,1)=0; y(2,1)=0; %第2个人初始坐标 x(3,1)=0; y(3,1)=100; %第3个人初始坐标 x(4,1)=100; y(4,1)=100; %第4个人初始坐标 for j=1:n-1 for i=1:3 d=sqrt((x(i+1,j)-x(i,j))^2+(y(i+1,j)-y(i,j))^2); %第i个人和第i+1个人距离 cosx=(x(i+1,j)-x(i,j))/d; %求cos值 sinx=(y(i+1,j)-y(i,j))/d; %求sin值 x(i,j+1)=x(i,j)+v*dt*cosx; %求新x坐标 y(i,j+1)=y(i,j)+v*dt*sinx; %求新y坐标 end %考虑第1,2,3人运动一步 d=sqrt((x(1,j)-x(4,j))^2+(y(1,j)-y(4,j))^2); %第4个人和第1个人距离 cosx=(x(1,j)-x(4,j))/d; %求cos值 sinx=(y(1,j)-y(4,j))/d; %求sin值 x(4,j+1)=x(4,j)+v*dt*cosx; %求第4点新x坐标 y(4,j+1)=y(4,j)+v*dt*sinx; %求第4点新y坐标 end %plot(x,y) for j=1:n plot(x(1,j),y(1,j),x(2,j),y(2,j),x(3,j),y(3,j),x(4,j),y(4,j)) %作点图 hold on %保持每次作图,实现各次图行迭加 end 执行结果见图1 图1 模拟结果图形 二、电梯问题随机模拟 设有个人在一楼进入电梯,楼上共有层。设每个乘客在任何一层楼出电梯的可能性相同,求直到电梯中的人下完为止,电梯需停次数的数学期望。并对进行计算机模拟验证。 计算机模拟算法思想: 楼上层的序号记为,定义整型数组,并将其个元素的初始值置0。计算机随机产生1到的个随机整数,若该数为,则令,表示第层电梯有人要下,从而电梯在该层要停;当有多人在第层要下时,仍用表示。统计数组中为1的元素个数,即为该次模拟实验电梯要停的次数。总共模拟实验次,求平均值就是电梯所停次数的模拟值。 Matlab模拟程序dianti.m N=5000; %模拟次数 n=28; %电梯层数 r=14; %电梯开始进的人数 s=0; x=zeros(n,1); for k=1:N %模拟N次 s1=0; for i=1:n x(i)=0; end for j=1:r %对每个人是否下电梯进行模拟 i=1+floor(rand(1,1)*n); x(i)=1; %第i层有人下 end s1=sum(x); %该次模拟中总共要下的人数 s=s+s1; %统计各次模拟中下的人数 end eq=s/N; %模拟平均值 ei=n*(1-(1-1/n)^r); fprintf(模拟电梯要停次数的理论值%6.2f,模拟值为%6.2f\n,ei,eq); 某两次运行结果如下:11.15,11.18。与理论数值11.17很接近。 三、 矿工选门问题模拟实验 一名矿工陷入一个有三扇门的矿井中,第一扇门通到一个隧道,走2小时可以到达安全区;第二扇门通到另一个隧道,走3小时回到矿井中;第三扇门通到又一个隧道,走5小时回到矿井中。假定矿工总是等可能的选择三扇门的任何一扇门,求到达安全区的平均时间 计算机模拟的Matlab程序:

文档评论(0)

jiayou10 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档