MATLAB编程讲义及实例实用教案

上传人:辰*** 文档编号:79223310 上传时间:2022-04-23 格式:PPTX 页数:70 大小:1.18MB
收藏 版权申诉 举报 下载
MATLAB编程讲义及实例实用教案_第1页
第1页 / 共70页
MATLAB编程讲义及实例实用教案_第2页
第2页 / 共70页
MATLAB编程讲义及实例实用教案_第3页
第3页 / 共70页
资源描述:

《MATLAB编程讲义及实例实用教案》由会员分享,可在线阅读,更多相关《MATLAB编程讲义及实例实用教案(70页珍藏版)》请在装配图网上搜索。

1、第1页/共69页第一页,共70页。教学内容: MATLAB程序控制 M脚本文件和M函数文件 变量的检测(jin c)传递和限权使用函数 函数句柄 图形用户界面编程(GUI)第四章程序设计(chn x sh j)第2页/共69页第二页,共70页。4.14.1程序流程语句程序流程语句(yj)(yj) 选择结构选择结构(jigu) if (jigu) if switch switch 循环结构循环结构(jigu) while (jigu) while forfor第3页/共69页第三页,共70页。4.1.1 4.1.1 选择结构选择结构1.1. if if 条件条件 语句组语句组 end end 当

2、条件成立时,则执行当条件成立时,则执行(zhxng)(zhxng)语句组,执行语句组,执行(zhxng)(zhxng)完之后继续执行完之后继续执行(zhxng)(zhxng)语句的后继语句,若条件不成立,则直接执行语句的后继语句,若条件不成立,则直接执行(zhxng)if(zhxng)if语句的后继语句的后继语句。语句。4.14.1程序流程语句程序流程语句(yj)(yj)第4页/共69页第四页,共70页。4.1.14.1.1选择选择(xunz)(xunz)结构语句结构语句第5页/共69页第五页,共70页。4.1.14.1.1选择结构选择结构(jigu)(jigu)语句语句第6页/共69页第六页

3、,共70页。4.14.1程序流程语句程序流程语句(yj)(yj)4.1.1 4.1.1 选择选择(xunz)(xunz)结构结构例例. .给定两个实数,按代数值的大小输出其中大的给定两个实数,按代数值的大小输出其中大的 ab ab ba ba 两次判断条件两次判断条件 第7页/共69页第七页,共70页。4.1.1 4.1.1 选择结构选择结构2.2. if if 条件条件 语句语句(yj)(yj)组组1 1 else else 语句语句(yj)(yj)组组2 2 end end 当条件成立时,执行语句当条件成立时,执行语句(yj)(yj)组组1 1,否则,否则执行语执行语 句组句组2 2,语句

4、,语句(yj)(yj)组组1 1或语句或语句(yj)(yj)组组2 2执行后,再执行执行后,再执行ifif语句语句(yj)(yj)的后继语句的后继语句(yj)(yj)。4.14.1程序流程语句程序流程语句(yj)(yj)第8页/共69页第八页,共70页。4.14.1程序流程语句程序流程语句(yj)(yj)4.1.1 4.1.1 选择结构选择结构例例. .给定两个实数,按代数值的大小输出给定两个实数,按代数值的大小输出(shch)(shch)其中大的其中大的 第9页/共69页第九页,共70页。4.14.1程序流程语句程序流程语句(yj)(yj)4.1.1 4.1.1 选择选择(xunz)(xun

5、z)结构结构例例.x.x为磨床冷却液温度传感器得到的温度值(这里用为磨床冷却液温度传感器得到的温度值(这里用18281828的随机数代替),如果温度在的随机数代替),如果温度在2121-25-25之间,之间,在监控器上显示在监控器上显示“温度正常温度正常”,低于,低于2121显示报警显示报警“磨削液温度过低磨削液温度过低”,高于,高于2525显示报警显示报警“磨削液温磨削液温度过高度过高” 第10页/共69页第十页,共70页。4.14.1程序流程语句程序流程语句(yj)(yj)4.1.1 4.1.1 选择选择(xunz)(xunz)结构结构3.3.if if 条件条件1 1 语句组语句组 el

6、seif elseif 条件条件2 2 语句组语句组2 2 elseif elseif 条件条件m m 语句组语句组m melseelse 语句组语句组n nendend语句用于实现多分支选择语句用于实现多分支选择(xunz)(xunz)结构。结构。第11页/共69页第十一页,共70页。4.14.1程序流程语句程序流程语句(yj)(yj)3.2.1 3.2.1 选择结构选择结构例例.x.x为磨床冷却液温度传感器得到的温度值(这里用为磨床冷却液温度传感器得到的温度值(这里用18281828的随机数代替),如果温度在的随机数代替),如果温度在2121-25-25之间,之间,在监控器上显示在监控器上

7、显示(xinsh)“(xinsh)“温度正常温度正常”,低于,低于2121显示显示(xinsh)(xinsh)报警报警“磨削液温度过低磨削液温度过低”,高,高于于2525显示显示(xinsh)(xinsh)报警报警“磨削液温度过高磨削液温度过高” 第12页/共69页第十二页,共70页。4.14.1程序流程语句程序流程语句(yj)(yj)4.1.1 4.1.1 选择结构选择结构思考思考: :计算计算(j sun)(j sun)分段函数的值分段函数的值 X X1 X X1 X-1 1=X2 X-1 1=X=2 X-2X+1 X=2222第13页/共69页第十三页,共70页。4.14.1程序流程语句

8、程序流程语句(yj)(yj)第14页/共69页第十四页,共70页。4.14.1程序流程语句程序流程语句(yj)(yj)4.1.1 4.1.1 选择结构选择结构(jigu)(jigu)4.4. switch switch 表达式表达式 case case 表达式表达式1 1 语句组语句组1;1; case case 表达式表达式2 2 语句组语句组2;2; case case 表达式表达式m m 语句组语句组m;m; otherwise otherwise 语句组语句组n;n; end end第15页/共69页第十五页,共70页。4.14.1程序流程语句程序流程语句(yj)(yj)4.1.1 4

9、.1.1 选择结构选择结构例例. .某商场对顾客所购买的商品实行打折销售,标某商场对顾客所购买的商品实行打折销售,标准如下准如下( (商品价格用商品价格用priceprice来表示来表示) ): price200 price200 没有折扣没有折扣(zh ku)(zh ku) 200price500 3% 200price500 3%折扣折扣(zh ku)(zh ku) 500price1000 5% 500price1000 5%折扣折扣(zh ku)(zh ku) 1000price2500 8% 1000price2500 8%折扣折扣(zh ku)(zh ku) 2500price50

10、00 10% 2500price5000 10%折扣折扣(zh ku)(zh ku) 5000price 14% 5000price 14%折扣折扣(zh ku)(zh ku)输入所售商品的价格,求其实际销售价格输入所售商品的价格,求其实际销售价格第16页/共69页第十六页,共70页。4.14.1程序流程语句程序流程语句(yj)(yj)第17页/共69页第十七页,共70页。4.14.1程序流程语句程序流程语句(yj)(yj)4.1.1 4.1.1 选择结构选择结构思考:思考:给出学生的百分制成绩,要求转化成成绩等级给出学生的百分制成绩,要求转化成成绩等级(dngj)(dngj)输出,等级输出,

11、等级(dngj)(dngj)分为分为优秀优秀,良良好好,中等中等,及格及格9090分以上的为分以上的为优优秀秀,80-89,80-89的为的为良好良好,70-79,70-79的为的为中等中等,60-69,60-69的为的为及格及格,其他为其他为不及格不及格.第18页/共69页第十八页,共70页。4.14.1程序流程语句程序流程语句(yj)(yj)第19页/共69页第十九页,共70页。4.14.1程序流程语句程序流程语句(yj)(yj)4.1.2 4.1.2 循环结构循环结构1 1whilewhile语句语句 while while语句的一般语句的一般(ybn)(ybn)格式为:格式为: whi

12、le ( while (条件条件) ) 循环体语句循环体语句 end end 其执行过程为:若条件成立,则执行循环其执行过程为:若条件成立,则执行循环体语句,执行后再判断条件是否成立,如果不体语句,执行后再判断条件是否成立,如果不成立则跳出循环。成立则跳出循环。第20页/共69页第二十页,共70页。4.14.1程序流程语句程序流程语句(yj)(yj)4.1.2 4.1.2 循环循环(xnhun)(xnhun)结构结构例例. .求求1+2+3+1001+2+3+100的和的和第21页/共69页第二十一页,共70页。4.14.1程序流程语句程序流程语句(yj)(yj)第22页/共69页第二十二页,

13、共70页。4.14.1程序流程语句程序流程语句(yj)(yj)4.12 4.12 循环结构循环结构2 2forfor语句语句 for for语句的格式为:语句的格式为: for for 循环变量循环变量(binling)=(binling)=表达式表达式1:1:表达式表达式2:2:表达式表达式3 3 循环体语句循环体语句 end end 其中表达式其中表达式1 1的值为循环变量的值为循环变量(binling)(binling)的初值,表达式的初值,表达式2 2的值为步长,表达式的值为步长,表达式3 3的值为循的值为循环变量环变量(binling)(binling)的终值。步长为的终值。步长为1

14、 1时,表达时,表达式式2 2可以省略。可以省略。第23页/共69页第二十三页,共70页。4.14.1程序流程语句程序流程语句(yj)(yj)4.1.2 4.1.2 循环循环(xnhun)(xnhun)结构结构例例. .求求1+2+2+1001+2+2+100的和的和第24页/共69页第二十四页,共70页。4.14.1程序流程语句程序流程语句(yj)(yj)4.1.2 4.1.2 循环结构循环结构例例. .写出下列写出下列(xili)(xili)程序的执行结果。程序的执行结果。 s=0; s=0; a=12,13,14;15,16,17;18,19,20;21,22,23; a=12,13,1

15、4;15,16,17;18,19,20;21,22,23; for k=a for k=a s=s+k; s=s+k; end end disp(s); disp(s);第25页/共69页第二十五页,共70页。4.14.1程序流程语句程序流程语句(yj)(yj)第26页/共69页第二十六页,共70页。第27页/共69页第二十七页,共70页。第28页/共69页第二十八页,共70页。4.14.1程序流程语句程序流程语句(yj)(yj)4.1.2 4.1.2 循环结构循环结构3 3循环的嵌套循环的嵌套 如果如果(rgu)(rgu)一个循环结构的循环体又一个循环结构的循环体又包括一个循环结构,就称为循

16、环的嵌套,或称为多包括一个循环结构,就称为循环的嵌套,或称为多重循环结构。重循环结构。例例: :有一数有一数: : 1+1+1+1+2+2+2+2+3+3+3+3 1+1+1+1+2+2+2+2+3+3+3+3123101231012310第29页/共69页第二十九页,共70页。4.14.1程序流程语句程序流程语句(yj)(yj)第30页/共69页第三十页,共70页。4.14.1程序流程语句程序流程语句(yj)(yj)4.1.2 4.1.2 循环结构循环结构思考思考. .一个三位整数各位数字的立方和等于该数一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数本身则称该数为水仙花数, ,输

17、出输出(shch)(shch)全部全部水仙花数。水仙花数。 第31页/共69页第三十一页,共70页。4.14.1程序流程语句程序流程语句(yj)(yj)第32页/共69页第三十二页,共70页。4.14.1程序流程语句程序流程语句(yj)(yj)4.1.3 4.1.3 其他流程控制语句其他流程控制语句1 1breakbreak语句和语句和continuecontinue语句语句breakbreak语句用于终止循环的执行。当在循环体内执语句用于终止循环的执行。当在循环体内执行到该语句时,程序将跳出行到该语句时,程序将跳出(tio ch)(tio ch)循环,循环,继续执行循环语句的下一语句。继续执

18、行循环语句的下一语句。continuecontinue语句控制跳过循环体中的某些语句。当语句控制跳过循环体中的某些语句。当在循环体内执行到该语句时,程序将跳过循环体在循环体内执行到该语句时,程序将跳过循环体中所有剩下的语句,继续下一次循环。中所有剩下的语句,继续下一次循环。第33页/共69页第三十三页,共70页。4.14.1程序流程语句程序流程语句(yj)(yj)例:求100,200之间第一个能被21整除(zhngch)的整数。第34页/共69页第三十四页,共70页。4.1.3 4.1.3 其他流程控制语句其他流程控制语句2 2trytry语句语句语句格式为:语句格式为:trytry 语句组语

19、句组1 1catchcatch 语句组语句组2 2endend try try语句先试探性执行语句组语句先试探性执行语句组1 1,如果语句组,如果语句组1 1在执行过程在执行过程(guchng)(guchng)中出现错误,则将错误信息中出现错误,则将错误信息赋给保留的赋给保留的lasterrlasterr变量,并转去执行语句组变量,并转去执行语句组2 2。第35页/共69页第三十五页,共70页。第36页/共69页第三十六页,共70页。4.14.1程序流程语句程序流程语句(yj)(yj)小作业:猜数游戏。 首先由计算机产生1,100之间的随机整数,然后由用户猜测(cic)所产生的随机数。根据用户

20、猜测(cic)的情况给出不同提示,如猜测(cic)的数大于产生的数,则显示“High”,小于则显示“Low”,等于则显示“You won”,同时退出游戏,用户最多可以猜7次。 第37页/共69页第三十七页,共70页。4.14.1程序流程语句程序流程语句(yj)(yj)第38页/共69页第三十八页,共70页。& M命令文件: M文件是一个文本文件,它可以用任何编辑程序来建立和编辑,而一般常用且最为方便(fngbin)的是使用MATLAB提供的文本编辑器。4.2 M4.2 M命令命令(mng lng)(mng lng)文件文件和和M M函数文件函数文件4.2.1 M4.2.1 M命令命令(mng

21、(mng lng)lng)文件文件第39页/共69页第三十九页,共70页。1 1建立新的建立新的M M文件文件 为建立新的为建立新的M M文件,启动文件,启动(qdng)MATLAB(qdng)MATLAB文本编辑器有文本编辑器有3 3种方种方法:法: (1) (1) 菜单操作。从菜单操作。从MATLABMATLAB主窗口的主窗口的FileFile菜单中选择菜单中选择NewNew菜单菜单项,再选择项,再选择M-fileM-file命令,屏幕上将出现命令,屏幕上将出现MATLAB MATLAB 文本编辑器窗口。文本编辑器窗口。 (2) (2) 命令操作。在命令操作。在MATLABMATLAB命令

22、窗口输入命令命令窗口输入命令editedit,启动,启动(qdng)MATLAB(qdng)MATLAB文本编辑器后,输入文本编辑器后,输入M M文件的内容并存盘。文件的内容并存盘。 (3) (3) 命令按钮操作。单击命令按钮操作。单击MATLABMATLAB主窗口工具栏上的主窗口工具栏上的New M-New M-FileFile命令按钮,启动命令按钮,启动(qdng)MATLAB(qdng)MATLAB文本编辑器后,输入文本编辑器后,输入M M文件文件的内容并存盘。的内容并存盘。4.2.1 M4.2.1 M命令命令(mng (mng lng)lng)文件文件4.2 M4.2 M命令命令(mn

23、g lng)(mng lng)文件文件和和M M函数文件函数文件第40页/共69页第四十页,共70页。2 2打开已有的打开已有的M M文件文件 打开已有的打开已有的M M文件,也有文件,也有3 3种方法:种方法: (1) (1) 菜单操作。从菜单操作。从MATLABMATLAB主窗口的主窗口的FileFile菜单中选择菜单中选择OpenOpen命命令,则屏幕出现令,则屏幕出现OpenOpen对话框,在对话框,在OpenOpen对话框中选中所需打开的对话框中选中所需打开的M M文件。在文档窗口可以对打开的文件。在文档窗口可以对打开的M M文件进行文件进行(jnxng)(jnxng)编辑修改,编辑

24、修改,编辑完成后,将编辑完成后,将M M文件存盘。文件存盘。 (2) (2) 命令操作。在命令操作。在MATLABMATLAB命令窗口输入命令:命令窗口输入命令:edit edit 文件名,文件名,则打开指定的则打开指定的M M文件。文件。 (3) (3) 命令按钮操作。单击命令按钮操作。单击MATLABMATLAB主窗口工具栏上的主窗口工具栏上的Open Open FileFile命令按钮,再从弹出的对话框中选择所需打开的命令按钮,再从弹出的对话框中选择所需打开的M M文件。文件。4.2.1 M4.2.1 M命令命令(mng lng)(mng lng)文件文件4.2 M4.2 M命令文件命令

25、文件(wnjin)(wnjin)和和M M函数文件函数文件(wnjin)(wnjin)第41页/共69页第四十一页,共70页。第42页/共69页第四十二页,共70页。3 3程序调试程序调试 DebugDebug菜单项菜单项该菜单项用于程序调试,需要与该菜单项用于程序调试,需要与BreakpointsBreakpoints菜单项配菜单项配合使用。合使用。BreakpointsBreakpoints菜单项菜单项该菜单项共有该菜单项共有6 6个菜单命令,前两个是用于在程序中设个菜单命令,前两个是用于在程序中设置和清除断点的,后置和清除断点的,后4 4个是设置停止条件的,用于临时停个是设置停止条件的,

26、用于临时停止止M M文件的执行,并给用户一个检查局部变量的机会,相文件的执行,并给用户一个检查局部变量的机会,相当于在当于在M M文件指定文件指定(zhdng)(zhdng)的行号前加入了一个的行号前加入了一个keyboardkeyboard命令。命令。4.2.1 M4.2.1 M命令命令(mng lng)(mng lng)文件文件4.2 M4.2 M命令文件命令文件(wnjin)(wnjin)和和M M函数文件函数文件(wnjin)(wnjin)第43页/共69页第四十三页,共70页。4.2.2 4.2.2 函数文件函数文件functions functions 数学中的一种对应关系,是从非

27、空集合数学中的一种对应关系,是从非空集合A A到实数集到实数集B B的的对应。精确地说,设对应。精确地说,设X X是一个非空集合,是一个非空集合,Y Y是非空数集是非空数集 ,f f是个对应法则是个对应法则 , 若对若对X X中的每个中的每个x x,按对应法则,按对应法则f f,使,使Y Y中中存在唯一存在唯一(wi y)(wi y)的一个元素的一个元素y y与之对应与之对应 , 就称对应法则就称对应法则f f是是X X上的一个函数,记作上的一个函数,记作y yf f(x x),称),称X X为函数为函数f f(x x)的)的定义域,集合定义域,集合y|y=fy|y=f(x x),),xXxX

28、为其值域(值域是为其值域(值域是Y Y的子的子集),集),x x叫做自变量,叫做自变量,y y叫做因变量,习惯上也说叫做因变量,习惯上也说y y是是x x的函的函数。数。4.2 M4.2 M命令文件命令文件(wnjin)(wnjin)和和M M函数文件函数文件(wnjin)(wnjin)第44页/共69页第四十四页,共70页。4.2.2 4.2.2 函数文件函数文件 M M文件可以根据调用方式的不同分为文件可以根据调用方式的不同分为(fn wi)(fn wi)两类:命两类:命令文件令文件(Script File)(Script File)和函数文件和函数文件(Function File)(Fu

29、nction File)。4.2 M4.2 M命令命令(mng lng)(mng lng)文件文件和和M M函数文件函数文件第45页/共69页第四十五页,共70页。例例: :分别建立命令文件和函数分别建立命令文件和函数(hnsh)(hnsh)文件,将华氏文件,将华氏温度温度f f转换为摄氏温度转换为摄氏温度c c。程序程序1 1: 首先建立命令文件并以文件名首先建立命令文件并以文件名f2c.mf2c.m存盘。存盘。f=input(Input Fahrenheit temperaturef=input(Input Fahrenheit temperature:););c=5c=5* *(f-32

30、)/9(f-32)/9然后在然后在MATLABMATLAB的命令窗口中输入的命令窗口中输入f2cf2c,将会执行该命,将会执行该命令文件,执行情况为:令文件,执行情况为:Input Fahrenheit temperatureInput Fahrenheit temperature:7373c =c = 22.7778 22.7778第46页/共69页第四十六页,共70页。程序程序2 2:首先建立函数文件首先建立函数文件f2c.mf2c.m。function c=f2c(f)function c=f2c(f)c=5c=5* *(f-32)/9(f-32)/9然后在然后在MATLABMATLAB

31、的命令的命令(mng lng)(mng lng)窗口调用该函数窗口调用该函数文件。文件。y=input(Input Fahrenheit temperaturey=input(Input Fahrenheit temperature:););x=f2c(y)x=f2c(y)输出情况为:输出情况为:Input Fahrenheit temperatureInput Fahrenheit temperature:7070c =c = 21.1111 21.1111x =x = 21.1111 21.1111第47页/共69页第四十七页,共70页。4.2.2 4.2.2 函数文件结构函数文件结构函数

32、文件由函数文件由functionfunction语句引导,其基本结构为:语句引导,其基本结构为: function function 输出形参表输出形参表= =函数名函数名( (输入形参表输入形参表) ) 注释说明部分注释说明部分 函数体语句函数体语句 其中以其中以functionfunction开头开头(ki tu)(ki tu)的一行为引导行,表示该的一行为引导行,表示该M M文件是一个函数文件。函数名的命名规则与变量名相同。输入文件是一个函数文件。函数名的命名规则与变量名相同。输入形参为函数的输入参数,输出形参为函数的输出参数。当输出形参为函数的输入参数,输出形参为函数的输出参数。当输出

33、形参多于一个时,则应该用方括号括起来。形参多于一个时,则应该用方括号括起来。4.2 M4.2 M命令文件命令文件(wnjin)(wnjin)和和M M函数文件函数文件(wnjin)(wnjin)第48页/共69页第四十八页,共70页。例例 编写编写(binxi)(binxi)函数文件求半径为函数文件求半径为r r的圆的面积和周长。的圆的面积和周长。 函数文件如下:函数文件如下: function s,p=fcircle(r)function s,p=fcircle(r)%CIRCLE calculate the area and perimeter of a %CIRCLE calculate

34、 the area and perimeter of a circle of radii rcircle of radii r%r %r 圆半径圆半径%s %s 圆面积圆面积%p %p 圆周长圆周长%2004%2004年年7 7月月3030日编日编s=pis=pi* *r r* *r;r;p=2p=2* *pipi* *r;r;4.2 M4.2 M命令文件命令文件(wnjin)(wnjin)和和M M函数文件函数文件(wnjin)(wnjin)函数M文件 一般由5个部分组成: (1)函数定义行; (2)H1行; (3)函数帮助(bngzh)文本; (4)函数体; (5)注释。 第49页/共69

35、页第四十九页,共70页。4.2 M4.2 M命令文件命令文件(wnjin)(wnjin)和和M M函数文件函数文件(wnjin)(wnjin)第50页/共69页第五十页,共70页。4.2.2 4.2.2 函数调用函数调用函数文件编制好后,就可以调用函数进行计算函数文件编制好后,就可以调用函数进行计算 输出输出(shch)(shch)形参表形参表= =函数名函数名( (输入形参表输入形参表) ) 要注意的是,函数调用时各实参出现的顺序、个数,应要注意的是,函数调用时各实参出现的顺序、个数,应与函数定义时形参的顺序、个数一致,否则会出错。函数调与函数定义时形参的顺序、个数一致,否则会出错。函数调用

36、时,先将实参传递给相应的形参,从而实现参数传递,然用时,先将实参传递给相应的形参,从而实现参数传递,然后再执行函数的功能。后再执行函数的功能。 4.2 M4.2 M命令文件命令文件(wnjin)(wnjin)和和M M函数文件函数文件(wnjin)(wnjin)第51页/共69页第五十一页,共70页。例:利用(lyng)函数,求n! 4.2 M4.2 M命令文件命令文件(wnjin)(wnjin)和和M M函数文件函数文件(wnjin)(wnjin)第52页/共69页第五十二页,共70页。例:利用(lyng)函数,求1!+2!+3!+n! 4.2 M4.2 M命令命令(mng lng)(mng

37、 lng)文件文件和和M M函数文件函数文件第53页/共69页第五十三页,共70页。 在MATLAB中,函数可以(ky)嵌套调用,即一个函数可以(ky)调用别的函数,甚至调用它自身。一个函数调用它自身称为函数的递归调用。4.2 M4.2 M命令命令(mng lng)(mng lng)文件文件和和M M函数文件函数文件第54页/共69页第五十四页,共70页。例:利用函数的递归调用,求n!。显然,求n!需要求(yoqi)(n-1)!,这时可采用递归调用。递归调用函数文件factor.m如下: 4.2 M4.2 M命令文件命令文件(wnjin)(wnjin)和和M M函数文件函数文件(wnjin)(

38、wnjin)第55页/共69页第五十五页,共70页。例 nargin用法(yn f)示例。x=1:3;y=1;2;3;charray(x)charray(x,y)charray(x,y,3)4.2 M4.2 M命令命令(mng lng)(mng lng)文件文件和和M M函数文件函数文件第56页/共69页第五十六页,共70页。 给定两个实数a、b,一个自然数n,求解(qi ji)当n=1,10时所有的(a+b)n和(a-b)n。第57页/共69页第五十七页,共70页。 首先建立函数(hnsh)文件addsub.m functionout1,out2=addsub(a,b,n) %计算(a+b)

39、n和(a-b)n out1= (a+b)n; out2= (a-b)n; 建立调用上述子函数(hnsh)的函数(hnsh)文件ex.m a=input(a=); b=input(b=); addresult=(1:10); subresult=(1:10); for n=1:10 addresult(n), subresult(n)= addsub(a,b,n) ; end addresult subresult第58页/共69页第五十八页,共70页。M函数函数(hnsh)文件的特点文件的特点从形式上看,与脚本文件不同(b tn),函数文件的笫一行总是以 “function”引导的“函数申明行

40、”。从运行上看 ,与脚本文件运行不同 ,每当函数文件运行, MATLAB就会专门为它开辟一个临时工作空间,称为函数工作空间( Function workspace)。当执行文件最后一条指令时 ,就结束该函数文件的运行,同时该临时函数空间及其所有的中间(zhngjin)变量就立即被清除。 MATLAB允许使用比 “标称数目 ”较少的输入、输出参量,实现对函数的调用。function 输出参量 1,输出参量 2,=函数名(输出参量 1,输出参量 2,)第59页/共69页第五十九页,共70页。 柯雷茨(collatz)猜想 对于任意的正整数n,如果n是偶数(u sh)则除以2,如果还是偶数(u sh

41、)再除以2,直至成为奇数。把这个奇数乘以3加1再除以2,如果是偶数(u sh)继续除以2,直至成为一个新的奇数。然后再将这个奇数乘以3加1,按照同样的办法计算下去。经过若干次计算之后,最后的得数是1.4.2 M4.2 M命令文件命令文件(wnjin)(wnjin)和和M M函数文件函数文件(wnjin)(wnjin)第60页/共69页第六十页,共70页。4.2.3 4.2.3 全局变量与局部变量全局变量与局部变量全局变量用全局变量用globalglobal命令命令(mng lng)(mng lng)定义,格式为:定义,格式为:global global 变量名变量名例:全局变量应用示例。例:全

42、局变量应用示例。先建立函数文件先建立函数文件wadd.mwadd.m,该函数将输入的参数加权相,该函数将输入的参数加权相加加function f=wadd(x,y)function f=wadd(x,y)global ALPHA BETAglobal ALPHA BETAf=ALPHAf=ALPHA* *x+BETAx+BETA* *y;y;在命令在命令(mng lng)(mng lng)窗口中输入:窗口中输入:global ALPHA BETAglobal ALPHA BETAALPHA=1;ALPHA=1;BETA=2;BETA=2;s=wadd(1,2)s=wadd(1,2)4.2 M4

43、.2 M命令文件命令文件(wnjin)(wnjin)和和M M函数文件函数文件(wnjin)(wnjin)第61页/共69页第六十一页,共70页。4.3.1 4.3.1 函数所传递参数的可调性函数所传递参数的可调性 在调用函数时,在调用函数时,MATLABMATLAB用两个永久变量用两个永久变量narginnargin和和nargoutnargout分别记录调用该函数时的输入实参和输出实参的个分别记录调用该函数时的输入实参和输出实参的个数。只要数。只要(zhyo)(zhyo)在函数文件中包含这两个变量,就可以在函数文件中包含这两个变量,就可以准确地知道该函数文件被调用时的输入输出参数个数,从准

44、确地知道该函数文件被调用时的输入输出参数个数,从而决定函数如何进行处理。而决定函数如何进行处理。 4.3 4.3 变量变量(binling)(binling)的检测传递和限权的检测传递和限权使用函数使用函数第62页/共69页第六十二页,共70页。例 nargin用法(yn f)示例。 函数文件charray.m: 4.3 4.3 变量的检测传递变量的检测传递(chund)(chund)和限权使和限权使用函数用函数第63页/共69页第六十三页,共70页。例 nargin用法(yn f)示例。 函数文件charray.m: 4.3 4.3 变量的检测传递变量的检测传递(chund)(chund)和

45、限权使用和限权使用函数函数第64页/共69页第六十四页,共70页。例例 nargin nargin用法用法(yn f)(yn f)示例。示例。x=1:3;x=1:3;y=1;2;3;y=1;2;3;charray(x)charray(x)charray(x,y)charray(x,y)charray(x,y,3)charray(x,y,3)4.3 4.3 变量的检测变量的检测(jin c)(jin c)传递和限权使传递和限权使用函数用函数第65页/共69页第六十五页,共70页。图形用户界面(GUI)编程 现代的主流应用程序已经从命令行的交互方式转变为以图形界面为主的交互方式,这主要是由于它给用

46、户带来了操作和控制(kngzh)的方便与灵活性。(面向对象编程) MATLAB能够以比较简单的方式实现一系列的图形界面功能。通过对控件、菜单属性的设置(shzh)和 Callback 的编写,就能够满足大多数用户的需求。第66页/共69页第六十六页,共70页。控件、菜单控件、菜单(ci dn)(ci dn)的的CallbackCallback属性属性 Callback 属性的取值是字符串,可以是某个M文件名或一小段MATLAB语句(yj)。当用户激活控件对象(例如 :在控件对象图标上单击鼠标左键 )时,应用程序就运行 Callback 属性定义的子程序。 Callback 属性的取值是字符串,

47、可以是某个M文件名或一小段MATLAB语句。当用户激活菜单(ci dn)对象时,若没有子菜单(ci dn)就运行 Callback 属性定义的子程序。若有,先运行 Callback 属性定义的子程序,再显示子菜单(ci dn)。控件的Callback属性菜单的Callback属性第67页/共69页第六十七页,共70页。第第4章章 MATLAB编程编程第68页/共69页第六十八页,共70页。谢谢您的观看(gunkn)!第69页/共69页第六十九页,共70页。NoImage内容(nirng)总结第1页/共69页。s=s+k。思考.一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数,输出全部水仙花数。在MATLAB命令窗口(chungku)输入命令:edit 文件名,则打开指定的M文件。function 输出形参表=函数名(输入形参表)。s=pi*r*r。p=2*pi*r。输出形参表=函数名(输入形参表)。f=ALPHA*x+BETA*y。谢谢您的观看第七十页,共70页。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!