实验:计算机模拟
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验:计算机模拟
一、实验目的和要求
1. 掌握计算机模拟的基本原理及方法;
2. 掌握利用随机数解决问题;
二、实验内容
1.已知零件C由零件A和零件B连接而成,已知零件A、B的长度为随机变量,
aaa=[];
for i=1:10
a=rand;
if a<=007
a1=5;
elseif a>0.07&&a<=0.26
a1=6;
elseif a>0.26&&a<=0.64
a1=7;
elseif a>0.64&&a<=0.89
a1=8;
elseif a>0.89&&a<=1
a1=9;
end
b=rand;
if b<=0.23
b1=14;
elseif a>0.23&&a<=0.64
b1=15;
elseif a>0.64&&a<=0.91
b1=16;
elseif a>0.91&&a<=1
b1=17;
end
c=a1+b1
aaa=[aaa a1+b1];
end 运
行xxx 得到以下结果
:
xxx c = 21 c = 19 c = 20 c = 21 c = 20 c = 20 c = 21 c = 19 c = 19 c = 19 >> mean(aaa) ans = 19.9000
10个样本计算C 的平均长度为19。
量时,每件以5元处理) 根据题设编写代码:a.m b=[500 600 700 800 900]; a=[19,20,21]; x1=rand; if x1<0.05 c=7;
elseif x1>0.05&x2<0.20 c=8;
elseif x1>0.20&x1<0.4 c=9;
elseif x1>0.4&x1<0.7
c=10;
elseif x1>0.7&x1<0.95
c=11;
else
c=12;
end
c
x2=rand;
if x2<0.05
d=500;
elseif x2>0.05&x2<0.2
d=600;
elseif x2>0.2&x2<0.6
d=700;
elseif x2>0.6&x2<0.85
d=800;
else
d=900;
end
d
for i=1:5
for j=1:3
b(i)
a(j)
if b(i)<=d
z=b(i)*a(j)-b(i)*c else
z=d*a(j)-b(i)*c+(b(i)-d)*5 end
end
end
运行a.m
c =11
d =600 ans =500 ans =19 z =4000 ans =500 ans =20 z =4500 ans =500 ans =21 z =5000 ans =600
ans =19
z =4800
ans =600
ans =20
z =5400
ans =600
ans =21
z =6000
ans =700
ans =19
z =4200
ans =700
ans =20
z =4800
ans =700
ans =21
z =5400
ans =800
ans =19
z =3600
ans =800
ans =20
z =4200
ans =800
ans =21
z =4800
ans =900
ans =19
z =3000
ans =900
ans =20
z =3600
ans =900 ans =21 z =4200
可知:当生产600件定价为21元时,利润最大为6000元。
3 一个慢跑者在平面上沿椭圆以恒定的速率v=1跑步,设椭圆方程为: x=10+20cos t, y=20+5sin t.突然有一只狗攻击他.这只狗从原点出发,
以恒定速率w跑向慢跑者,狗的运动方向始终指向慢跑者.分别求出w=20,w=5
时狗的运动轨迹.(用计算机模拟的方法)
建立m3.m文件:
w=20;
v=1;
dt=0.1;
d=100;
x=0;y=0;
for t=0:0.1:100
d=sqrt((x1(t)-x)^2+(y1(t)-y)^2);
x=w*((x1(t)-x)/d)*dt+x;
y=w*((y1(t)-y)/d)*dt+y;
plot(x1(t),y1(t),'r+',x,y,'*')
hold on
end
建立x1.m function x=x1(t) x=10+20*cos(t); 建立y1.m function y=y1(t) y=20+5*sin(t);
运行 m3(第二次时将w=20改为w=5)