Matlab作业习题与答案详解附程序.docx

上传人:b****1 文档编号:29146848 上传时间:2023-07-20 格式:DOCX 页数:10 大小:69.35KB
下载 相关 举报
Matlab作业习题与答案详解附程序.docx_第1页
第1页 / 共10页
Matlab作业习题与答案详解附程序.docx_第2页
第2页 / 共10页
Matlab作业习题与答案详解附程序.docx_第3页
第3页 / 共10页
Matlab作业习题与答案详解附程序.docx_第4页
第4页 / 共10页
Matlab作业习题与答案详解附程序.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

Matlab作业习题与答案详解附程序.docx

《Matlab作业习题与答案详解附程序.docx》由会员分享,可在线阅读,更多相关《Matlab作业习题与答案详解附程序.docx(10页珍藏版)》请在冰豆网上搜索。

Matlab作业习题与答案详解附程序.docx

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

美赛MATLAB选拔题

第一部分基础题(必做)

一、计算函数

,在

内的最小(近似最小)值,方法不限。

clearall;clc;closeall;

x=-10:

0.01:

20;

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

ymin=min(y)

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

当前的油位高度是2.3米,见图1。

模拟油流进储油罐的过程(图维数任选),请计算罐内油量。

三维的效果图参见图2。

储油罐由两部分组成,中间是圆柱体,两端是球罐体。

(本题简化自2011年UCMCMA题《储油罐的变位识别与罐容表标定》,细节参见原题原题附件2cumcm2010A.doc。

图1

图2

主程序:

clc;

clearall;

closeall;

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

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

n=10000;%每次的撒点数

delta=0.02;%层高

h=3;

en=h/delta;

Show;%画出油罐

fori=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];

[dis1dis2]=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[dis1dis2]=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:

functiontu=Show

%===圆柱部分==

figure('color','w')

h=3;

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

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

x='t';

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

axisequal

hiddenoff

holdon

%===左罐部分==

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,[0pi*2-1.625-0.625]);

axisequal

hiddenoff

holdon

%===右罐部分===

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,[0pi*20.6251.625]);

colormap(gray)

axisequal

holdon

axisoff

hiddenoff

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

1.简单交通流模拟

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

clc;

clearall;

closeall;

n=80;

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;

whilet<100

Aa=A;

ne1=A([n1:

n-1]);

ne2=A([2:

n1]);

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

ifA(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)

end

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

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

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

排队系统参数如下:

表1

名称

定义或参数

矩阵

排队系统

一条道,80个站位,即80个元胞

到达快餐店的人群有三种可能:

成人和小孩、或没人到达

是成人的概率为0.5

是小孩的概率为0.4

没人到达的概率为0.1

速度

小孩的行驶速度是的成人的0.6倍

提示:

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

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

③效果参考(局部图):

图3

四、图论算法

图4给出了某市13个交通站点,表1列出了它们的坐标,请求出任意站点间的最短距离矩阵。

(本题简化自2011年UCMCMB题《交巡警服务平台的设置与调度》)

图4

表1

编号

x

y

1

81

76

2

38

22

3

79

95

4

33

67

5

44

83

6

77

17

7

86

99

8

51

88

9

59

15

10

20

41

11

75

83

12

79

32

13

53

9

clc;

clearall;

closeall;

n=13;

dis=xlsread('dis.xls');

dis(dis>=10000000)=inf;

fork=1:

n

fori=1:

n

forj=1:

n

ifdis(i,j)>(dis(i,k)+dis(k,j));

dis(i,j)=dis(i,k)+dis(k,j);

R(i,j)=k;

end

end

end

end

 

第二部分提高题(选做)

一、

现有直径为4,8,14和18mm的小圆,要在长轴长60mm,短轴长34mm的椭圆中进行填充,使椭圆被覆盖的面积最大,且各小圆不能相交,试给出一个较好的方案。

(本题简化自2003年MCMB题《Gamma刀治疗方案》,细节参见原题附件5原题.doc。

图5

二、数独拼图游戏:

游戏规则:

(本题简化自2008年MCMB题《建立数独拼图游戏》,细节参见原题附件6原题.doc。

在9×9的格子中,用1到9共9个阿拉伯数字填满整个格子,要求符合:

●每一行都用到1,2,3,4,5,6,7,8,9,位置不限;

●每一列都用到1,2,3,4,5,6,7,8,9,位置不限;

●每3×3的格子都用到1,2,3,4,5,6,7,8,9,位置不限;

7

9

4

6

5

2

5

3

7

8

2

9

1

8

4

3

2

7

4

9

6

6

2

3

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 中职中专

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1