Matlab作业习题与答案详解(附程序)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

clear all;clc;close all;

x=-10:0.01:20;

y=4*sin(x)./x;

ymin=min(y)

二、蒙特卡罗算法的数值计算

当前的油位高度是2.3米,见图1。模拟油流进储油罐的过程(图维数任选),请计算罐内油量。三维的效果图参见图2。储油罐由两部分组成,中间是圆柱体,两端是球罐体。(本题简化自2011年UCMCM A题《储油罐的变位识别与罐容表标定》,细节参见原题原题附件2 cumcm2010A.doc。)

图1

图2

主程序:

clc;

clear all;

close all;

center1=[-3.375,0,1.5]; %左球罐中心center2=[3.375,0,1.5]; %右球罐中心

n=10000; %每次的撒点数

delta=0.02; %层高

h=3;

en=h/delta;

Show; %画出油罐

for i=0:en-1

x=(rand(1,n)-0.5)*10; %随机生成n个点

y=(rand(1,n)-0.5)*h;

z=(rand(1,n)*delta+i*delta);

Z=[x;y;z];

[dis1

dis2]=juli(center1,center2,Z); %算出各点对应的距离

index=find(((x>-4&x<4)&dis2<1.5)|(x<-4|x>4)&dis1<1.625); %找出在罐内的点

plot3(x(index),y(index),z(index),'.k'); %画出在罐内的点

drawnow

end

子程序1:

function [dis1 dis2]=juli(a,b,q)

d11=q(1,:)-a(1);

d12=q(2,:)-a(2);

d13=q(3,:)-a(3);

d1=sqrt(d11.^2+d12.^2+d13.^2);

d21=q(1,:)-b(1);

d22=q(2,:)-b(2);

d23=q(3,:)-b(3);

d2=sqrt(d21.^2+d22.^2+d23.^2);

d1(d1>d2)=d2(d1>d2);

dis1=d1;

dis2=sqrt(d12.^2+d13.^2);

子程序2:

function tu=Show

%===圆柱部分==

figure('color','w')

h=3;

y='3/2*cos(s)';

z='3/2*sin(s)+1.5';

x='t';

ezmesh(x,y,z,[0 pi*2 -4 4]);

axis equal

hidden off

hold on

%===左罐部分==

z='cos(s)*(2.6406-t.^2).^(1/2)+1.5'; y='sin(s)*(2.6406-t.^2).^(1/2)';

x='t-3.375';

ezmesh(x,y,z,[0 pi*2 -1.625 -0.625]);

axis equal

hidden off

hold on

%===右罐部分===

z='cos(s)*(2.6406-t.^2).^(1/2)+1.5';

y='sin(s)*(2.6406-t.^2).^(1/2)';

x='t+3.375';

ezmesh(x,y,z,[0 pi*2 0.625 1.625]);

colormap(gray)

axis equal

hold on

axis off

hidden off

三、元胞自动机的简单应用

1.简单交通流模拟

请模拟一个4车道的交通流,车辆密度为0.3,其余规则自行定义。clc;

clear all;

close all;

A=zeros(1,n);

p1=0.5;

p2=0.4;

A(rand(1,n)

A(rand(1,n)<0.9&rand(1,n)>0.5)=1;

t=0;

while t<100

Aa=A;

ne1=A([n 1:n-1]);

ne2=A([2:n 1]);

A(Aa==1&ne2==0&rand(1,n)<0.6)=0;

if A(Aa==1&ne2==0)==0

A(Aa==0&ne1==2)=1;

end

A(Aa==2&ne2==0)=0;

A(Aa==0&ne1==2)=2;

image(A*30);

drawnow

t=t+1;

pause(0.1)

2.元胞自动机模拟排队系统

(本题简化自2007年MCM B题登机问题,细节参见原题。)

N1食堂快餐店老板为了更好经营生意,他请你模拟一个排队系统,以便决策。排队系统参数如下:

表1

名称定义或参数矩阵

排队系统一条道,80个站位,即

80个元胞

80 1

到达快餐店的人群有三种可能:成人和小孩、或

没人到达

是成人的概率为0.5 是小孩的概率为0.4 没人到达的概率为0.1

速度小孩的行驶速度是的成

人的0.6倍

提示:①此题类似元胞自动机交通流模拟;

②人的速度可以用概率表示;

③效果参考(局部图):

图3

四、图论算法

图4给出了某市13个交通站点,表1列出了它们的坐标,请求出任意站点间的最短距离矩阵。(本题简化自2011年UCMCM B题《交巡警服务平台的设置与调度》)

相关文档
最新文档