第3章 MATLAB7.x的编程基础.ppt

上传人:hwp****526 文档编号:84396747 上传时间:2023-04-05 格式:PPT 页数:36 大小:1MB
返回 下载 相关 举报
第3章 MATLAB7.x的编程基础.ppt_第1页
第1页 / 共36页
第3章 MATLAB7.x的编程基础.ppt_第2页
第2页 / 共36页
点击查看更多>>
资源描述

《第3章 MATLAB7.x的编程基础.ppt》由会员分享,可在线阅读,更多相关《第3章 MATLAB7.x的编程基础.ppt(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第3章章MATLAB7.x编程基础编程基础3.1 M文件文件3.2 输入输入语句输入输入语句3.3 程序控制语句程序控制语句3.4程序调试程序调试3.1 M3.1 M文件文件 MATLAB7.x的功能十分强大,一种能够进行的功能十分强大,一种能够进行数值运算、符号运算、矩阵运算、绘图等,另数值运算、符号运算、矩阵运算、绘图等,另一种还可以进行高级语言如一种还可以进行高级语言如C、FORTRAN等一等一样编写程序,完成命令功能,这些文件都以样编写程序,完成命令功能,这些文件都以.m为后缀,称它们为为后缀,称它们为M文件。文件。2023/4/243.1.1脚本脚本M文件文件 在MATLAB7.x

2、中处理一些简单的问题时,可以直接在命令窗口输入处理命令。当命令比较多或者控制流程的复杂度增加后直接从命令窗口输入就显得比较复杂。此时,用户可以编写简单的文本文件,将一系列的命令写在该文件中,此文件通常以.m作为后缀,称为脚本M文件。2023/4/25脚本式脚本式M文件举例文件举例绘制一个正弦曲线:绘制一个正弦曲线:%此文件用于绘制此文件用于绘制【2pi,2pi】区间的正区间的正弦曲线图弦曲线图x=-2*pi:0.05:2*pi;y=sin(x);plot(x,y,c+)legend(正弦曲线图正弦曲线图)2023/4/263.1.2函数式函数式M文件文件 函数式函数式M文件一般都要自带参数,文

3、件一般都要自带参数,并且有返回结果并且有返回结果 。函数式函数式M文件的第一行都是以文件的第一行都是以function开始,说明此文件是一个函数。函开始,说明此文件是一个函数。函数式数式M文件中的变量都不是全局变量,仅在文件中的变量都不是全局变量,仅在函数运行期间有效,函数运行完毕之后,函数运行期间有效,函数运行完毕之后,它所定义的变量将从工作区间中清除。它所定义的变量将从工作区间中清除。2023/4/27函数式函数式M文件举例文件举例 判断某一年是否为闰判断某一年是否为闰年。年。解:调出解:调出Medit窗口,在里边输入窗口,在里边输入如下内容。如下内容。%该函数用于判断某一年是否为闰该函数

4、用于判断某一年是否为闰年年%使用格式为使用格式为isleapea(y),其中其中y是是用户所要计算的年份用户所要计算的年份 function isleapyear(year)sign=0;if rem(year,4)=0 sign=sign+1;endif rem(year,100)=0 sign=sign-1;end if rem(year,400)=0 sign=sign+1;end if sign=1 fprintf(%4d year is a leap year.n,year)else fprintf(%4d year is not a leap year.n,year)end3.1.

5、3 M文件的建立与打开文件的建立与打开 M文件是一个文本文件,它可以用任何编辑程文件是一个文本文件,它可以用任何编辑程序来建立和编辑,而一般常用且最为方便的是使用序来建立和编辑,而一般常用且最为方便的是使用MATLAB提供的文本编辑器。提供的文本编辑器。1建立新的建立新的M文件文件 为建立新的为建立新的M文件,启动文件,启动MATLAB文本编辑器文本编辑器有有3种方法:种方法:(1)菜单操作。从菜单操作。从MATLAB主窗口的主窗口的File菜单中选择菜单中选择New菜单项,再选择菜单项,再选择M-file命令,屏幕上将出现命令,屏幕上将出现MATLAB 文本编辑器窗口。文本编辑器窗口。(2)

6、命令操作。在命令操作。在MATLAB命令窗口输入命令命令窗口输入命令edit,启动启动MATLAB文本编辑器后,输入文本编辑器后,输入M文件的内容并文件的内容并存盘。存盘。(3)命令按钮操作。单击命令按钮操作。单击MATLAB主窗口工具栏上主窗口工具栏上的的New M-File命令按钮,启动命令按钮,启动MATLAB文本编辑器文本编辑器后,输入后,输入M文件的内容并存盘。文件的内容并存盘。2.打开已有的打开已有的M文件文件 打开已有的打开已有的M文件,也有文件,也有3种方法:种方法:(1)菜单操作。从菜单操作。从MATLAB主窗口的主窗口的File菜单中菜单中选择选择Open命令,则屏幕出现命

7、令,则屏幕出现Open对话框,在对话框,在Open对话框中选中所需打开的对话框中选中所需打开的M文件。在文档文件。在文档窗口可以对打开的窗口可以对打开的M文件进行编辑修改,编辑文件进行编辑修改,编辑完成后,将完成后,将M文件存盘。文件存盘。(2)命令操作。在命令操作。在MATLAB命令窗口输入命令命令窗口输入命令edit 文件名,则打开指定的文件名,则打开指定的M文件。文件。(3)命令按钮操作。单击命令按钮操作。单击MATLAB主窗口工具主窗口工具栏上的栏上的Open File命令按钮,再从弹出的对话框命令按钮,再从弹出的对话框中选择所需打开的中选择所需打开的M文件。文件。3.2 3.2 3.

8、2 3.2 输入输出语句(人机交互)输入输出语句(人机交互)输入输出语句(人机交互)输入输出语句(人机交互)1 1、屏幕输入、屏幕输入、屏幕输入、屏幕输入 格式:格式:格式:格式:x=input(x=input(提示符提示符提示符提示符)-)-等待输入数据等待输入数据等待输入数据等待输入数据 x=input(x=input(提示符提示符提示符提示符,s)s)-等待输入字符串等待输入字符串等待输入字符串等待输入字符串比如:比如:比如:比如:input(input(输入你心目中最好的大学:输入你心目中最好的大学:输入你心目中最好的大学:输入你心目中最好的大学:)input(input(输入你心目中

9、最好的大学:输入你心目中最好的大学:输入你心目中最好的大学:输入你心目中最好的大学:,s)s)2 2、菜单命令、菜单命令、菜单命令、菜单命令 格式:格式:格式:格式:x=menu(x=menu(标标标标题题题题,菜菜菜菜单单单单项项项项11,菜菜菜菜单单单单项项项项22,)返回菜单序号。返回菜单序号。返回菜单序号。返回菜单序号。例如:例如:例如:例如:x=x=menu(menu(TitleTitle,PlusPlus,MinusMinus)3 3、暂停、暂停、暂停、暂停 格式:格式:格式:格式:pause -pause -等待敲击键盘等待敲击键盘等待敲击键盘等待敲击键盘 pause(npaus

10、e(n)-)-等待等待等待等待n n秒秒秒秒 4 4、交出键盘、交出键盘、交出键盘、交出键盘 格格格格式式式式:keyboadkeyboad -程程程程序序序序执执执执行行行行到到到到该该该该命命命命令令令令时时时时暂暂暂暂停停停停,在在在在屏屏屏屏幕幕幕幕上上上上显显显显示示示示K K,这这这这时时时时用用用用户户户户可可可可输输输输入入入入命命命命令令令令,查查查查看看看看中中中中间结果,输入间结果,输入间结果,输入间结果,输入returnreturn命令,则程序继续执行命令,则程序继续执行命令,则程序继续执行命令,则程序继续执行 。5 5、中止执行、中止执行、中止执行、中止执行 6 6、

11、显示、显示、显示、显示 格式:格式:格式:格式:display(xdisplay(x)-)-在命令行显示在命令行显示在命令行显示在命令行显示x x的内容。的内容。的内容。的内容。格式:格式:格式:格式:C-C-强行停止程序的执行,回到命令行。强行停止程序的执行,回到命令行。强行停止程序的执行,回到命令行。强行停止程序的执行,回到命令行。例例3.1:分别建立命令文件和函数文件,将华氏温度分别建立命令文件和函数文件,将华氏温度f转转换为摄氏温度换为摄氏温度c。程序程序1:首先建立命令文件并以文件名首先建立命令文件并以文件名f2c.m存盘。存盘。clear;%清除工作空间中的变量清除工作空间中的变量

12、f=input(Input Fahrenheit temperature:);c=5*(f-32)/9 然后在然后在MATLAB的命令窗口中输入的命令窗口中输入f2c,将会执,将会执行该命令文件,执行情况为:行该命令文件,执行情况为:Input Fahrenheit temperature:73c=22.7778程序程序2:首先建立函数文件首先建立函数文件f2c.m。function c=f2c(f)c=5*(f-32)/9然后在然后在MATLAB的命令窗口调用该函数文件。的命令窗口调用该函数文件。clear;y=input(Input Fahrenheit temperature:);x=f

13、2c(y)输出情况为:输出情况为:Input Fahrenheit temperature:70c=21.1111x=21.11113.3 3.3 3.3 3.3 程序控制语句程序控制语句程序控制语句程序控制语句 任何计算机语言都有三种基本结构,即:任何计算机语言都有三种基本结构,即:任何计算机语言都有三种基本结构,即:任何计算机语言都有三种基本结构,即:顺序结构:无控制语句顺序结构:无控制语句顺序结构:无控制语句顺序结构:无控制语句分支结构:分支结构:分支结构:分支结构:if,switchif,switch循环结构:循环结构:循环结构:循环结构:for,while for,while 1、顺

14、序结构:无控制语句、顺序结构:无控制语句 按照顺序从头至尾地执行程序中的各条语按照顺序从头至尾地执行程序中的各条语句。顺序结构一般不包含其他任何子语句或控制句。顺序结构一般不包含其他任何子语句或控制语句。语句。例如:例如:n=0:100;x=sin(2*pi*0.01*n);plot(x);hold on 2 分支结构:分支结构:if,switch if和和switch语句用于根据条件选择执行相语句用于根据条件选择执行相应的语句。应的语句。(1 1)if if 语句(适合分支少)语句(适合分支少)语句(适合分支少)语句(适合分支少)if 语句根据逻辑表达式的值来确定是否执语句根据逻辑表达式的值

15、来确定是否执行紧接的语句体。常见的调用格式有:行紧接的语句体。常见的调用格式有:格式格式格式格式1 1:if if 表达式表达式表达式表达式 语句语句语句语句 endend格式格式格式格式2 2:if if 表达式表达式表达式表达式 语句语句语句语句1 1 else else 语句语句语句语句2 2 end end 格式格式格式格式3 3:if if 表达式表达式表达式表达式1 1 语句语句语句语句1 1 elseifelseif 表达式表达式表达式表达式2 2 语句语句语句语句2 2 else else 语句语句语句语句3 3 end end例如:例如:例如:例如:判断输入数的奇偶性判断输入

16、数的奇偶性判断输入数的奇偶性判断输入数的奇偶性n=n=input(ninput(n=);=);if rem(n,2)=0if rem(n,2)=0 display(ndisplay(n是偶数是偶数是偶数是偶数)elseelse display(ndisplay(n是奇数是奇数是奇数是奇数)end end(2)switch(2)switch语句(适合分支多)语句(适合分支多)语句(适合分支多)语句(适合分支多)格式:格式:格式:格式:switch switch 表达式(标量或表达式)表达式(标量或表达式)表达式(标量或表达式)表达式(标量或表达式)case case 值值值值1 1 语句语句语句

17、语句1 1 case case 值值值值2 2 语句语句语句语句2 2 otherwise otherwise 语句语句语句语句n n end end例例例例3.23.2:根据菜单选择显示不同的函数:根据菜单选择显示不同的函数:根据菜单选择显示不同的函数:根据菜单选择显示不同的函数x=menu(x=menu(波形波形波形波形,正弦正弦正弦正弦,余弦余弦余弦余弦,正切正切正切正切,余切余切余切余切););switch xswitch xcase 1case 1 ezplot(sinezplot(sin)case 2case 2 ezplot(cosezplot(cos)case 3case 3

18、ezplot(tanezplot(tan)case 4case 4 ezplot(cotezplot(cot)end end 3 3 3 3 循环结构循环结构循环结构循环结构(1)for(1)for语句语句语句语句 格式格式格式格式:for for 变量变量变量变量=初值:增量:终值初值:增量:终值初值:增量:终值初值:增量:终值 语句语句语句语句 end end 例如:求例如:求例如:求例如:求100100!x=1;x=1;for k=1:1:100 for k=1:1:100 x=x*k;x=x*k;end end for语句更一般的格式为:语句更一般的格式为:for 循环变量循环变量=矩

19、阵表达式矩阵表达式 循环体语句循环体语句 end 执行过程是依次将矩阵的各列元素赋执行过程是依次将矩阵的各列元素赋 给循环变量,然后执行循环体语句,直至给循环变量,然后执行循环体语句,直至各列元素处理完毕各列元素处理完毕例例3.3:写出下列程序的执行结果。写出下列程序的执行结果。s=0;s=0;a=12,13,14;15,16,17;18,19,20;21,22,23;a=12,13,14;15,16,17;18,19,20;21,22,23;for k=a for k=a s=s=s+ks+k;end end disp(sdisp(s););运行结果:运行结果:39 48 57 6639 4

20、8 57 66(2)while(2)while 语句语句语句语句 格式:格式:格式:格式:while while 表达式表达式表达式表达式 语句语句语句语句 endend例如:计算例如:计算例如:计算例如:计算1 1,10001000的和的和的和的和x=1;x=1;while x=1000while x 0)sum mean=sum/cntend(3)(3)breakbreak和和和和continuecontinue语句语句语句语句 用于循环语句(用于循环语句(用于循环语句(用于循环语句(for,whilefor,while):):):):break:break:用于跳出循环用于跳出循环用于跳

21、出循环用于跳出循环continue:continue:跳过后面的语句继续循环跳过后面的语句继续循环跳过后面的语句继续循环跳过后面的语句继续循环 例例例例3.53.5:输输输输出出出出100100到到到到200200之之之之间间间间第第第第一一一一个个个个能能能能被被被被7 7整整整整除除除除的的的的数数数数for i=100:200for i=100:200 if rem(i,7)=0 if rem(i,7)=0 continue continue end end break breakendendi i循环的嵌套循环的嵌套循环的嵌套循环的嵌套 如如如如果果果果一一一一个个个个循循循循环环环环

22、结结结结构构构构的的的的循循循循环环环环体体体体又又又又包包包包括括括括一一一一个个个个循循循循环环环环结结结结构构构构,就就就就称称称称为为为为循循循循环环环环的的的的嵌嵌嵌嵌套套套套,或或或或称为多重循环结构。称为多重循环结构。称为多重循环结构。称为多重循环结构。例例3.6:若一个数等于它的各个真因子之和,则若一个数等于它的各个真因子之和,则称该数为完数,如称该数为完数,如6=1+2+3,所以,所以6是完数。求是完数。求1,500之间的全部完数。之间的全部完数。for m=1:500 s=0;for k=1:m/2 if rem(m,k)=0 s=s+k;end end if m=s di

23、sp(m);end end3.4 3.4 程序的调试程序的调试 一般来说,应用程序的错误有两类:一般来说,应用程序的错误有两类:一类是语法错误,另一类是运行时的错误。一类是语法错误,另一类是运行时的错误。语法错误包括词法或文法的错误。例如函数名语法错误包括词法或文法的错误。例如函数名的拼写错、表达式书写错等。的拼写错、表达式书写错等。程序运行时的错误是指程序的运行结果有错程序运行时的错误是指程序的运行结果有错 误,这类错误也称为程序逻辑错误。误,这类错误也称为程序逻辑错误。3.4.1 3.4.1 调试注意事项调试注意事项调试注意事项调试注意事项 MATLAB MATLAB 的的的的查查查查错错

24、错错能能能能力力力力较较较较强强强强,一一一一般般般般语语语语法法法法错错错错误误误误,会直接报告。会直接报告。会直接报告。会直接报告。如如如如果果果果语语语语法法法法没没没没有有有有出出出出错错错错,而而而而得得得得不不不不到到到到正正正正确确确确结结结结果果果果时时时时,一般需要调试一般需要调试一般需要调试一般需要调试 。对于较小的程序只要仔细检查程序即可对于较小的程序只要仔细检查程序即可对于较小的程序只要仔细检查程序即可对于较小的程序只要仔细检查程序即可 对对对对于于于于比比比比较较较较大大大大的的的的程程程程序序序序,建建建建议议议议编编编编写写写写一一一一部部部部分分分分,检检检检查

25、一部分。查一部分。查一部分。查一部分。使用调试命令使用调试命令使用调试命令使用调试命令3.4.2 3.4.2 程序的调试程序的调试程序的调试程序的调试 1 1、利用调试命令、利用调试命令、利用调试命令、利用调试命令 例如例如例如例如:设置断点(设置断点(设置断点(设置断点(dbstopdbstop)单步执行(单步执行(单步执行(单步执行(dbstepdbstep)调调调调试试试试命命命命令令令令放放放放在在在在通通通通用用用用命命命命令令令令库库库库中中中中(P P5151),使使使使用用用用不不不不方便。方便。方便。方便。2 2、利用、利用、利用、利用mm文件编辑的调试菜单文件编辑的调试菜单文件编辑的调试菜单文件编辑的调试菜单 Debug:Debug:Breakpoint:Breakpoint:除了采用调试器调试程序外,除了采用调试器调试程序外,MATLAB还提供了一些命令用于程序还提供了一些命令用于程序调试。命令的功能和调试器菜单命令调试。命令的功能和调试器菜单命令类似,具体使用方法请读者查询类似,具体使用方法请读者查询MATLAB帮助文档。帮助文档。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁