实验计算机模拟

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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。

单件成本7 8 9 10 11 12 概率0.05 0.15 0.2 0.3 0.25 0.05

定价\概率\预计销售500 600 700 800 900

19 0.05 0.15 0.4 0.25 0.15

20 0.3 0.2 0.2 0.2 0.1

21 0.2 0.3 0.35 0.1 0.05

量时,每件以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)

相关文档
最新文档