1、d)分支(if-else-end、switch-case)e)异常处理(try-catch)3、编写程序演示return、input、keyboard、pause、break、error、lasterr、warning、lastwarn等指令的功能和用法。a)return的功能和用法b)input的功能和用法c)keyboard的功能和用法d)pause的功能和用法e)break的功能和用法f)error的功能和用法g)lasterr的功能和用法h)warning的功能和用法i)lastwarn的功能和用法4、统串演算实验:设计实验演示验证eval与feval的功能和用法。a)eval的功能和
2、用法b)feval的功能和用法5、程序调试实验。a)出错时b)改正后6、程序性能剖析实验a)profile onb)relaxzzy(300)c)profile viewer实验记录data=randn(1,20); plot(data);运行结果:保存后选择debug/run菜单或按F5键运行,观察workspace中多出了一个变量data。function err=stderr(arr)%实验误差(标准差估计)evaluate along each column of arrerr=std(arr)./sqrt(size(arr,1)-1);文件存为stderr.m, 运行时输入a=1;2
3、;3;建立一个列数组a, 然后输入stderr(a)则给出a的方差a)演示循环(for、while)For循环 %for循环sum1=0;sum2=0;n=input(请输入一个数:) if n=0 sum11=sum11+1sum22=sum22+2n=n-1b)分支(if-else-end、switch-case)if-else-end分支结构: %if-else-end分支:a=input(请输入一个数字:if a1a=a+1a=a+2switch-case分支结构: %switch-case n=input(请输入成绩:); k=floor(n/10);switch k case 8,
4、9,10优秀 case 7良好 case 6一般 otherwise不及格c)异常处理(try-catch) a=magic(4);b=eye(3);tryc=a*bc=a(1:3,1:3)*bcatch %returnreturn %input k= mod (n,2); case 1您输入的为奇数 case 0您输入的为偶数%keyboard启动键盘管理pause暂停执行if n0) y=log(n); error(定义域大于0 lasterr%warning warning ( warning(定义域小于0 lastwarn4、串演算实验:K a=b=magic(4);eval(a) h
5、=sin;pi;y=feval(h,x);把原程序中的xxmu=xmu*size(yy)改为xxmu=xmu*ones(size(yy)。改正后,函数实现的功能:profile onrelaxzzy(300)profile viewer函数实现的功能:Profile Summary窗口显示:relaxzzy函数的进行运行分析由上例图可知,relaxzzy函数中最耗时的语句是newplate(j,k)=(plate(jm1,km1)/2+plate(jm1,k)+.plate(jm1,kp1)/2+plate(j,km1)+plate(j,kp1)+. plate(jp1,km1)/2+plat
6、e(jp1,k)+plate(jp1,kp1)/2)/6其执行时间为0.651 s,被调用次数为3000000次。这个语句可以加速,用过向量化改为矩阵的形式,就可以加速了。实验总结MATLAB脚本和函数的异同点:M脚本文件与M函数文件都是由一系列的语句组成的相对独立的一个运行体。M脚本文件没有参数传递功能,但M函数文件有此功能。M函数文件的格式有严格规定,它必须以“ function ”开头。函数文件与脚本文件的主要区别在于:函数文件一般都要带参数 , 都要有返回结果 , 而脚本文件没有参数与返回结果。函数文件的变量是局部变量 , 运行期间有效 , 运行完毕就自动被清除 , 而脚本文件的变量是全局变量 , 执行完毕后仍被保存在存中。通过这次试验我掌握了M文件的编写,运行和调试。知道了函数文件和脚本文件的相同点和不同点。同时也掌握了matlab程序设计中的基本语法,关系运算,以及for和while循环结构,if-else-end和switch的分支结构和异常处理的try-catch结构。通过自己调试一个程序,明白了程序调试的基本方法。自己通过对一个程序的性能剖析,知道了性能剖析的基本方法。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1