实验:计算机模拟
- 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>&&a<=
a1=6;
elseif a>&&a<=
a1=7;
elseif a>&&a<=
a1=8;
elseif a>&&a<=1
a1=9;
end
b=rand;
if b<=
b1=14;
elseif a>&&a<=
b1=15;
elseif a>&&a<=
b1=16;
elseif a>&&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 =
10个样本计算C的平均长度为19。
单件成本7 8 9 10 11 12 概率
定价\概率\预计销售500 600 700 800 900
19
20
21
时,每件以5元处理)
根据题设编写代码:
b=[500 600 700 800 900];
a=[19,20,21];
x1=rand;
if x1<
c=7;
elseif x1>&x2<
c=8;
elseif x1>&x1<
c=9;
elseif x1>&x1<
c=10;
elseif x1>&x1<
c=11;
else
c=12;
end
c
x2=rand;
if x2<
d=500;
elseif x2>&x2<
d=600;
elseif x2>&x2<
d=700;
elseif x2>&x2<
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
运行
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时狗的运动轨迹.(用计算机模拟的方法)
建立文件:
w=20;
v=1;
dt=;
d=100;
x=0;y=0;
for t=0::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
建立
function x=x1(t) x=10+20*cos(t); 建立
function y=y1(t) y=20+5*sin(t);
运行 m3(第二次时将w=20改为w=5)