资源描述:
《2013matlab原理及应用实验报告第四章》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、《MATLAB原理及应用》实验报告第四早MATLAB程序设计一.实验目的1、掌握脚本文件的建立2、掌握条件语句和程序语句的使用3、掌握MATLAB的程序设计方法二.实验内容1.关于M脚本文件和M函数文件M文件是在M文件编辑器窗口中编写的。在MATLAB的桌而上单击新建按钮,就可以打开M文件编辑器窗口,也可以通过依次单击【File】/[New]/[M-File]打开文件编辑器。【实验4-1】脚本文件在M文件编辑器窗口输入一下内容:N=3;form=l:Nforn=l:Nifm==nA(mzn)=1;elseA(m,
2、n)=0;endendend单击M文件编辑器窗口中的保存按钮,以“cxl.ni”为文件名保存在当前工作目录下。在命令窗口中输入:>>exl运行后可以在命令窗口中看到变量A的图标田a,继续在命令窗口输入:»AA=100010001这一脚本文件创建了一个3阶单位阵【实验4-2】M函数在M文件编辑器窗口输入一下内容:function[mean,stdev]=st&t(x)x=input('请输入x的值:*)%[mean,stdev]=stat(x)计算输入向量的均值和半均差咎输入参数x是向量%第一个输入参数mean是向
3、量各元素的平均值咎第二个输入参数stdev是向量的均方差%例如,取向量x=[l,2,3,4,5];%调用[mean,stdev]=stat(x),计算可得咎均值mean=3令均力■差stdev=1・4142n=length(x)%计算向量长度mean=sum(x)/n%计算向量平均值stdev=sqrt(sum((x-mean)・八2/11))%iT算「均方差输入完毕后,单击保存按钮,把文件保存在当前工作目录下,文件名为“stat.m"1.MATLAB程序流程控制【实验4-3]一个简单的for循环事例。»fori
4、二1:10;%i依次取1,2,10。x(i)二i;%对于每个i值重复执行由该指令构成的循环体end;»x%要求显示运行后数组x的值X=12345678910(2)wh订e循环结构:完成不定重复的循环。【实验4-4]Fibonacci数组的元素满足Fibonacci规则:ak+2=色+%],£=1,2,…且马=色=1先要求该数组中第一个大于10000的元素。①建立如下的M文件:>>a(l)=l;a(2)=1;i=2;whilea(i)〈二10000a(i+l)=a(i)+a(i-l);%当现有元素仍小于10000时
5、,求解下个元素。i二i+1;end;i,a(i),②运行后结果:■1=21ans=10946(3)if~else-end分支结构【实验4-5]用for循环指令来寻求Fibonacci数组中第一个大丁10000的元素。①建立如下的M文件:n=100;a=ones(1zn);fori=3:na(i)=a(i-1)+a(i-2);ifa(i)>=10000a(i),break;%跳出所在的一级循环。end;end,i②运行后结果:ans二109461二21(2)switch-case用“if”形式的条件转移语句,若检查
6、的重复过多,会使得程序非常混乱。这时可以用“switch”形式的条件转移语句。【实验4-6】演示switch结构的应用。①建立如下的M文件:varl=input(*varl=*);%让用户通过键盘输入数值、字符串或表达式switchvarlcase{-2,-1}disp(1varlisnegativeoneortwo.1)case0disp(1varliszero.1)case{1,2,3}disp(1varlispositiveone,two,orthree.1)otherwisedisp(1varlisoth
7、ervalue.1)end②运行后结果:varl=lvarlispositiveonewo,orthree.(3)try语句是一种试探性执行语句,为开发人员提供一个捕获错误的机制,其语句的格式为try语句块1catch语句块2endtye语句先试探性执行语句块1,如果语句块1在执行过程中出现错误,则将错误信息赋给保留的lasterr变量,并转去执行语句块2.【实验4-6】矩阵乘法运算要求两矩阵的维数相容,否则会出错。先求两矩阵的乘积,若出错,则自动转去求两矩阵的电乘。①建立如下的M文件:A=input(*请输入A
8、矩阵:,);B=input(T请输入B矩阵:T;lasterr(»•);%消除原有错误信息tryC=A*B;cmtchC=A・endCdisp(lasterr)%显示错误原因程序执行结果如下请输入A矩阵:[123;456]请输入B矩阵:[789;101112]C=71627405572Errorusing二二〉mtimesInnermatrixdimensionsmust