Matlab作业习题与答案详解附程序.docx
- 文档编号:29146848
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:10
- 大小:69.35KB
Matlab作业习题与答案详解附程序.docx
《Matlab作业习题与答案详解附程序.docx》由会员分享,可在线阅读,更多相关《Matlab作业习题与答案详解附程序.docx(10页珍藏版)》请在冰豆网上搜索。
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab 作业 习题 答案 详解 程序