湖南科技大学技能培训 3(习题)姓名: 学号: 12070204 专业: 信息与计算科学学院: 数学与计算科学学院指导教师: 谭敏二〇一三年十二月三十日第2讲:MATLAB入门1、用起泡法对10个数由小到大排序,即将相邻两个数比较,将小的调到前头。
解:代码如下:Untitled1.mclear all;clc;a=[7 2 1 0 9 4 5 -3 8 6];n=length(a);for ii=1:n-1if a(ii+1)>=a(ii)t1=a(ii);a(ii)=a(ii+1);a(ii+1)=t1;endfor jj=1:n-1if a(jj+1)>=a(jj)t2=a(jj);a(jj)=a(jj+1);a(jj+1)=t2;endendenda运行结果显示如下:a =9 8 7 6 5 4 2 1 0 -32、有一个4*5矩阵,编程求出其最大值及其所处的位置。
解:代码如下:clear;a=[1 2 3 4 53 4 5 6 96 7 8 8 01 2 4 5 6]max=-1;flage1=0;flage2=0for i=1:4for j=1:5if (a(i,j)>max)t=max;max=a(i ,j);a(i,j)=t;flage1=i;flage2=j;endendendmaxflage1flage2运行结果显示如下:a =1 2 3 4 53 4 5 6 96 7 8 8 01 2 4 5 6 flage2 =max =9flage1 =253、编程求∑=201!n n 。
解:代码如下:clear;clc;sum=0;for i=2:11sum=sum+gamma(i);endsum运行结果显示如下:sum =4037913第3讲:MATLAB 作图1、在同一平面中的两个窗口分别画出心形线和马鞍面。
要求:1)在图形上加格栅、图例和标注;2)定制坐标;3)以不同角度观察马鞍面。
解:心型线代码如下:clear;clc;i=-pi:0.1:pi;x=2.*(sin(i)-sin(2*i)./2);y=2.*(cos(i)-cos(i).^2);plot(x,y);axis([-3 3 -4.2 1]);%制定图形坐标title('心形线');%当前图顶端加图例xlabel('x');%当前图x轴加图例ylabel('y');%当前图y轴加图例grid on;%加格栅到当前图上心型线运行结果显示如下图:图3.1(心型线)马鞍线代码如下:clear;clc;a=10;b=10;x=-1.5:0.1:1.5;y=-1.5:0.1:1.5;[X,Y]=meshgrid(x,y);%x行y列的矩阵Z=X.^2/a-Y.^2/b;figure(2);%新建窗口subplot(221);%分割当前窗口,作图显示在该分割块上surf (X,Y,Z);title('马鞍面');xlabel('x');ylabel('y');subplot(222);surf (X,Y,Z);title('马鞍面');xlabel('x');ylabel('y');view(20,30);%改变视角到(20,30)subplot(223);surf (X,Y,Z);title('马鞍面');xlabel('x');ylabel('y');view(50,20);%改变视角到(50,20)subplot(224);surf (X,Y,Z);title('马鞍面');xlabel('x');ylabel('y');view(60,10);%改变视角到(60,10)马鞍线运行结果显示如下图:图3.2(马鞍面)2、以不同的视角观察球面x2+y2+z2=r2和圆柱面x2+y2=rx所围区域.解:代码如下:clear;clc;r=2;[x0,y0,z0]=sphere(50);x=r*x0;y=r*y0;z=r*z0;surf(x,y,z);hold on;f=@(x,y)x.^2+y.^2-r*x;ezsurf(f,[-1.5,2.5],[-2,1.5]);axis equal;view(30,20);运行结果显示如下图:图3.3第4讲:线性规划1、某厂生产甲乙两种口味的饮料,每百箱甲饮料需用原料6千克,工人10名,可获利10万元;每百箱乙饮料需用原料5千克,工人20名,可获利9万元.今工厂共有原料60千克,工人150名,又由于其他条件所限甲饮料产量不超过800箱.问如何安排生产计划,即两种饮料各生产多少使获利最大.进一步讨论:1)若投资0.8万元可增加原料1千克,问应否作这项投资.2)若每100箱甲饮料获利可增加1万元,问应否改变生产计划.解:编写M文件,代码如下:clear;clc;c=[-10 -9];A=[6 5;10 20;1 0];b=[60;150;8];Aeq=[];beq=[];vlb=[0;0];vub=[];[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)运行结果显示如下图:图4.1结果分析:甲饮料生产642箱,乙饮料生产428箱时,获利最大为102.8万元。
第5讲:无约束优化1、求下列函数的极小点:1) ()2123222118294x x x x x X f +-++=;2)()212122212223x x x x x x X f -+-+=;3)()()224121+-=x X f .第1),2)题的初始点可任意选取,第3)题的初始点取为()T 00,1X =.解:编写M文件,代码如下:(1):clear;clc;fun=inline('x(1)^2+4*x(2)^2+9*x(3)^2-2*x(1)+18*x(2)','x') [x,f]=fminsearch(fun,[0,0,0])x =1.0000 -2.25000.0000f = -21.2500x1=1.0000 ; x2=-2.2500 ; x3=0.0000(2):clear;clc;fun=inline('x(1)^2+(3/2)*x(2)^2-2*x(1)*x(2)+x(1)-2*x(2)', 'x')[x,f]=fminsearch(fun,[0,0])x =0.50001.0000f =-0.7500(3):clear;clc;fun=inline('(x(1)-1)^4+2*x(2)^2','x')[x,f]=fminsearch(fun,[0,1])x =1.0001-0.0000f =1.0837e-017运行结果显示如下:(1):fun =Inline function:fun(x) = x(1)^2+4*x(2)^2+9*x(3)^2-2*x(1)+18*x(2)x =1.0000 -2.2500 0.0000f =-21.2500x =-1.2500ans =f =-21.2500x3 =(2):fun =Inline function:fun(x) = x(1)^2+(3/2)*x(2)^2-2*x(1)*x(2)+x(1)-2*x(2) x =0.5000 1.0000f =-0.7500x =0.5000ans =1f =-0.7500(3):fun =Inline function:fun(x) = (x(1)-1)^4+2*x(2)^2x =1.0001 -0.0000f =1.0837e-017x =1.0001ans =f =1.0837e-0172. 梯子长度问题的一楼房的后面是一个很大的花园. 在花园中紧靠着楼房有一 个温室, 高3m ,温室伸入花园2m , 温室正上方是楼房 窗台. 清洁工打扫窗台周围,他得用梯子越过温室,一头放在花园中,一头靠在楼房的墙上. 因为 温室是不能承受梯子压力的,所以梯子太短 是不行的.现清洁工只有一架7m 长 的梯子,你认为它能达到要求吗? 图5.1 能满足要求的梯子的最小长 度为多少? 解:编写M 文件,代码如下:[x,fval,exitflag,output]=fminbnd('(2/cos(x))+(3/sin(x))',0,pi/2,x)运行结果显示如下:x =0.8528 fval = 7.0235 exitflag = 1output =iterations: 8 funcCount: 9algorithm: 'golden section search, parabolicinterpolation'message: [1x112 char]3. 陈酒出售的最佳时机问题某酒厂有批新酿的好酒,如果现在就出售,可得总收入0R =50万元(人民币),如果窖藏起来待来日(第n 年)按陈酒价格出售,第n 年末可得总收入60e n R R (万元),而银行利率为r =0.05,试分析这批好酒窖藏多少年后出售可使总收入的现值最大. (假设现有资金X 万元,将其存入银行,到第n 年时增值为()R n 万 元,则称X 为()R n 的现值.)并填下表.nn B )06.01(100)(+=6100)(n en R =解:编写M 文件,代码如下:第一种方案计算公式:for n=1:16b(n)=100*(1+0.06)^n; end B第二种方案计算公式:for n=1:16r(n)=100*exp(sqrt(n)/6); end r运行结果显示如下:第一种方案:b =Columns 1 through 7106.0000 112.3600 119.1016 126.2477 133.8226 141.8519 150.3630 Columns 8 through 14159.3848 168.9479 179.0848 189.8299 201.2196 213.2928 226.0904 Columns 15 through 16 239.6558 254.0352图5.2第1年 第2年 第3年 第4年 第5年 第6年 第7年 第8年 106.00 112.36 119.10 126.25 133.82 141.85 150.36 159.38 第9年 第10年 第11年 第12年 第13年 第14年 第15年 第16年 168.95179.08189.83201.22213.29226.09239.66254.04nne n X )06.01(100)(6+=第二种方案:r =Columns 1 through 6118.1360 126.5797 133.4658 139.5612 145.1617 150.4181 Columns 7 through 12155.4196 160.2243 164.8721 169.3922 173.8062 178.1312Columns 13 through 16182.3805 186.5650 190.6935 194.7734图5.3简单比较,应该是第二种方案较好。