资源描述:
《第2章_matlab编程与作图》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二章MATLAB编程与作图2.1程序设计2.2作图2.3在线帮助和文件管理2.4习题8/4/20211东华大学MATLAB数学实验2.1程序设计M脚本文件函数文件函数句柄、内嵌函数和匿名函数其它控制流8/4/20212东华大学MATLAB数学实验控制流-选择结构一、if语句例:计算分段函数值x=input('请输入x的值:');ifx==10y=cos(x+1)+sqrt(x*x+1);elsey=x*sqrt(x+sqrt(x));endy单分支if语句:if条件语句组end双分支if语句:
2、if条件语句组1else语句组2end8/4/20213东华大学MATLAB数学实验二、switch语句例:已知打折标准,求所售商品的实际销售价格。price=input(‘请输入商品价格:');switchfix(price/100)case{0,1}rate=0;case{2,3,4}rate=3/100;otherwiserate=14/100;endprice=price*(1-rate)switch表达式case表达式1语句组1case表达式2语句组2……case表达式m语句组moth
3、erwise语句组m+1end向0取整8/4/20214东华大学MATLAB数学实验×三、try语句try语句组1catch语句组2endtry语句先试探性执行语句组1,如果语句组1在执行过程中出现错误,则将错误信息赋给保留的lasterr变量,并转去执行语句组2。这种试探性执行语句是其他高级语言所没有的。8/4/20215东华大学MATLAB数学实验×例:矩阵乘法运算要求两矩阵的维数相容,否则会出错。先求两矩阵的乘积,若出错,则自动转去求两矩阵的点乘。A=[1,2,3;4,5,6];B=[7,
4、8,9;10,11,12];tryC=A*B;%若A是m*n,则要求B是n*mcatchC=A.*B;%若A是m*n,则要B也是m*nendClasterr%显示出错原因8/4/20216东华大学MATLAB数学实验控制流-循环结构一、for语句例:已知y的表达式,当n=100时,求y的值。y=0;n=100;fori=1:ny=y+1/i/i;endyfor循环变量=表达式1:表达式2:表达式3循环体语句end初值增量终值默认增量为18/4/20217东华大学MATLAB数学实验×for语句更
5、一般的格式:for循环变量=矩阵表达式循环体语句end例:已知5个学生4门功课的成绩,求每名学生的总成绩。s=0;a=[65,76,56,78;98,83,74,85;76,67,78,79;98,58,42,73;67,89,76,87];fork=as=s+k;enddisp(s');逐行相加转置8/4/20218东华大学MATLAB数学实验二、while语句while(条件)循环体语句endbreak语句:当在循环体内执行到该语句时,程序将跳出循环例:e=10;a=15;k=0;while
6、(a>e)k=k+1;a=a-1;endk8/4/20219东华大学MATLAB数学实验M脚本文件M文件的建立与编辑(1)菜单操作:File菜单→New菜单项→M-file命令。(2)命令操作:在命令窗口输入命令edit。(3)命令按钮操作:单击工具栏上的“新建”命令按钮。8/4/202110东华大学MATLAB数学实验M文件的分类分类:脚本文件(ScriptFile)(或称命令文件)和函数文件(FunctionFile)主要区别:1、M脚本文件没有参数传递功能;函数文件有参数传递功能。2、M脚
7、本文件中的变量是全局的,在命令窗口也可用;但命令窗口的变量在M脚本文件中不可用;函数文件中的变量是局部的。8/4/202111东华大学MATLAB数学实验例:建立一个命令文件将变量a,b的值互换,然后运行该命令文件。首先建立命令文件并以文件名exch.m存盘:a=1:10;b=[11,12,13,14;15,16,17,18];c=a;a=b;b=c;a,b然后在MATLAB的命令窗口中输入exch。建立一个函数文件将变量a,b的值互换,然后在命令窗口调用该函数文件。先建立函数文件fexch.m
8、:function[a,b]=exch(a,b)c=a;a=b;b=c;在命令窗口调用该文件:x=1:10;y=[11,12,13,14;15,16,17,18];[x,y]=fexch(x,y)调用文件名8/4/202112东华大学MATLAB数学实验函数文件函数文件的基本结构函数文件名:函数文件名与函数名也可以不相同。当两者不同时,MATLAB将忽略函数名而确认函数文件名,因此调用时使用函数文件名。若一个文件中定义了多个函数,则只有第一个函数作为主函数可以被外部调用;其它函数作为子函数只能被