实验3MATLAB程序设计实验实验目的1、掌握M文件的编辑、调试和性能剖析方法2、掌握MATLAB脚本和函数的设计方法3、掌握MATLAB程序的基本语法、关系运算和控制结构4、掌握串演算函数的用法实验内容1、编写两段简短的代码,演示MATLAB脚本和函数的不同。2、编写程序演示循环(for、while)、分支(if-else-end、switch-case)和异常处理(try-catch)控制结构的用法,并尽量体现各种关系运算符(==、~=、、、=、=)的用法。3、编写程序演示return、input、keyboard、pause、break、error、lasterr、warning、lastwarn等指令的功能和用法。4、串演算实验:设计实验演示验证eval与feval的功能和用法。5、程序调试实验:将以下代码保存为Debug_Test.m文件function[nn,xx,xmu,xstd]=Debug_Test(x)%本程序供调试实验用xmu=mean(x);xstd=std(x);[nn,xx]=hist(x);ifnargout==0barzzy0(nn,xx,xmu,xstd)endfunctionbarzzy0(nn,xx,xmu,xstd)clf,bar(xx,nn);holdonYlimit=get(gca,'YLim');yy=0:Ylimit(2);xxmu=xmu*size(yy);xxL=xxmu/xmu*(xmu-xstd);xxR=xxmu/xmu*(xmu+xstd);plot(xxmu,yy,'r','Linewidth',3)plot(xxL,yy,'rx','MarkerSize',8)plot(xxR,yy,'rx','MarkerSize',8),holdoff然后,在命令窗口中执行以下命令:randn('seed',1),x=randn(1,100);Debug_Test(x)对程序错误进行调试,总结调试过程,指出并改正所给程序的出错语句,记录程序出错时和调通后显示的图形。6、程序性能剖析实验:将以下代码保存为relaxzzy.m文件functionelapt=relaxzzy(iter)%本程序供性能剖析实验用sz=102;plate=magic(sz)*64/(sz*sz);newplate=plate;im=image(plate);axisoffset(gcf,'DoubleBuffer','on')shgticfori=1:iterforj=2:(sz-1)jm1=j-1;jp1=j+1;fork=2:(sz-1)km1=k-1;kp1=k+1;newplate(j,k)=(plate(jm1,km1)/2+plate(jm1,k)+...plate(jm1,kp1)/2+plate(j,km1)+plate(j,kp1)+...plate(jp1,km1)/2+plate(jp1,k)+plate(jp1,kp1)/2)/6;endendplate=newplate;if(0==rem(i,5))set(im,'cdata',plate)drawnowendendelapt=toc;close利用剖析器(profileviewer)对relaxzzy(300)进行运行分析,找出relaxzzy函数中最耗时的语句,记录其执行时间、被调用次数,并指出该语句是否可以被加速。实验学时4学时实验要求1、根据实验目的和内容,自行查阅资料、设计实验方案或编写程序,并认真记录实验结果;2、认真总结实验结果:(1)总结MATLAB脚本和函数的异同点;(2)总结MATLAB程序调试和性能剖析的方法;(3)查阅资料,总结提高MATLAB程序运行速度的有效措施;(4)用不超过200字概括出本次实验的主要收获和遇到的问题。