收藏 分销(赏)

2022年matlab的程序设计基础.ppt

上传人:二*** 文档编号:5456129 上传时间:2024-11-06 格式:PPT 页数:42 大小:777.54KB
下载 相关 举报
2022年matlab的程序设计基础.ppt_第1页
第1页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、第三章第三章 MATLAB MATLAB的程序设计基础的程序设计基础MATLABMATLABMATLABMATLAB的工作方式有两种的工作方式有两种的工作方式有两种的工作方式有两种M M M M文件又分为文件又分为文件又分为文件又分为命令命令命令命令M M M M文件文件文件文件(简称命令文件或脚本文件)和(简称命令文件或脚本文件)和(简称命令文件或脚本文件)和(简称命令文件或脚本文件)和函数函数函数函数M M M M文件文件文件文件(简称函数文件)两大类。(简称函数文件)两大类。(简称函数文件)两大类。(简称函数文件)两大类。一种是一种是一种是一种是交互式的指令行操作方式交互式的指令行操作方

2、式交互式的指令行操作方式交互式的指令行操作方式,即用户在命令窗口中按,即用户在命令窗口中按,即用户在命令窗口中按,即用户在命令窗口中按MATLABMATLAB的语法的语法的语法的语法规则输入命令行并按回车键后,系统将执行该命令并即时给出运算结果。规则输入命令行并按回车键后,系统将执行该命令并即时给出运算结果。规则输入命令行并按回车键后,系统将执行该命令并即时给出运算结果。规则输入命令行并按回车键后,系统将执行该命令并即时给出运算结果。一种是一种是一种是一种是MM文件的编程工作方式文件的编程工作方式文件的编程工作方式文件的编程工作方式。MM文件是由文件是由文件是由文件是由 MATLAB MATL

3、AB语句(命令行)语句(命令行)语句(命令行)语句(命令行)构成的构成的构成的构成的ASCIIASCII码文本文件,其文件名必须以码文本文件,其文件名必须以码文本文件,其文件名必须以码文本文件,其文件名必须以 .m.m 为扩展名。为扩展名。为扩展名。为扩展名。13.1 M3.1 M文件编辑器文件编辑器M M M M文件编辑器,用来完成文件编辑器,用来完成文件编辑器,用来完成文件编辑器,用来完成M M M M文件的创建、保存及编辑等工作。文件的创建、保存及编辑等工作。文件的创建、保存及编辑等工作。文件的创建、保存及编辑等工作。23在在在在M M M M文件编辑器中还可以进行程序的调试;文件编辑器

4、中还可以进行程序的调试;文件编辑器中还可以进行程序的调试;文件编辑器中还可以进行程序的调试;MM文件会以不同的颜色显示文件会以不同的颜色显示文件会以不同的颜色显示文件会以不同的颜色显示注释注释注释注释、关键词关键词关键词关键词、字符串字符串字符串字符串和一般程序代和一般程序代和一般程序代和一般程序代码;码;码;码;还有编辑功能,比如复制、粘贴、剪切等;还有编辑功能,比如复制、粘贴、剪切等;还有编辑功能,比如复制、粘贴、剪切等;还有编辑功能,比如复制、粘贴、剪切等;4运行运行53.2 3.2 命令文件(脚本文件或程序文件)命令文件(脚本文件或程序文件)命令文件(命令文件(命令文件(命令文件(.m

5、.m.m.m文件)包含一连串的文件)包含一连串的文件)包含一连串的文件)包含一连串的MATLABMATLABMATLABMATLAB指令,执行时依指令,执行时依指令,执行时依指令,执行时依次执行。次执行。次执行。次执行。运行命令文件的效果等价于从运行命令文件的效果等价于从运行命令文件的效果等价于从运行命令文件的效果等价于从MATLABMATLABMATLABMATLAB命令窗口中顺序逐命令窗口中顺序逐命令窗口中顺序逐命令窗口中顺序逐条输入并运行文件里的指令。条输入并运行文件里的指令。条输入并运行文件里的指令。条输入并运行文件里的指令。命令文件一般用命令文件一般用命令文件一般用命令文件一般用cl

6、earclearclearclear、close allclose allclose allclose all等语句开始,清除掉等语句开始,清除掉等语句开始,清除掉等语句开始,清除掉工作空间中原有的变量和图形,以避免残留数据对本程工作空间中原有的变量和图形,以避免残留数据对本程工作空间中原有的变量和图形,以避免残留数据对本程工作空间中原有的变量和图形,以避免残留数据对本程序的影响。序的影响。序的影响。序的影响。673.3 3.3 函数文件函数文件函数文件函数文件函数文件函数文件:必须由其他:必须由其他:必须由其他:必须由其他M M M M文件来调用。函数接文件来调用。函数接文件来调用。函数接文

7、件来调用。函数接受输入的参数,然后执行并输出结果。受输入的参数,然后执行并输出结果。受输入的参数,然后执行并输出结果。受输入的参数,然后执行并输出结果。l 函数文件必须以关键字函数文件必须以关键字函数文件必须以关键字函数文件必须以关键字“functionfunctionfunctionfunction”开开开开头头头头 函数文件的第一行为函数说明语句,其格式为:函数文件的第一行为函数说明语句,其格式为:函数文件的第一行为函数说明语句,其格式为:函数文件的第一行为函数说明语句,其格式为:function function function function 输出变量列表输出变量列表输出变量列表输

8、出变量列表=函数名(输入变量列表)函数名(输入变量列表)函数名(输入变量列表)函数名(输入变量列表)其中函数名为用户自己定义的函数名(与变量的命名规则相同)其中函数名为用户自己定义的函数名(与变量的命名规则相同)其中函数名为用户自己定义的函数名(与变量的命名规则相同)其中函数名为用户自己定义的函数名(与变量的命名规则相同)8此处注意,此处注意,此处注意,此处注意,s s s s为均值,为均值,为均值,为均值,m m m m为求和。为求和。为求和。为求和。10l 函数在运行过程中产生的变量都存放在函函数在运行过程中产生的变量都存放在函函数在运行过程中产生的变量都存放在函函数在运行过程中产生的变量

9、都存放在函数本身的工作空间,当文件执行完最后一条命数本身的工作空间,当文件执行完最后一条命数本身的工作空间,当文件执行完最后一条命数本身的工作空间,当文件执行完最后一条命令或遇到令或遇到令或遇到令或遇到“return”return”return”return”命令时,结束函数文件的命令时,结束函数文件的命令时,结束函数文件的命令时,结束函数文件的运行,同时函数工作空间的变量被清除。运行,同时函数工作空间的变量被清除。运行,同时函数工作空间的变量被清除。运行,同时函数工作空间的变量被清除。l 程序调用函数程序调用函数程序调用函数程序调用函数时,时,时,时,函数文件必须保存在与函数文件必须保存在与

10、函数文件必须保存在与函数文件必须保存在与程序文件相同的路径下程序文件相同的路径下程序文件相同的路径下程序文件相同的路径下,否则不能调用。,否则不能调用。,否则不能调用。,否则不能调用。11123.4 3.4 全局变量与局部变量全局变量与局部变量n局部变量局部变量q存在于函数内部的中间变量,产生于函数运行过程中,其影存在于函数内部的中间变量,产生于函数运行过程中,其影响范围仅限于该函数本身。响范围仅限于该函数本身。q默认的默认的n全局变量全局变量q几个不同的函数和基本工作空间共享同一个变量。几个不同的函数和基本工作空间共享同一个变量。q必须用必须用global专门定义专门定义。13全局变量全局变

11、量全局变量全局变量是由是由是由是由globalglobalglobalglobal命令来设置,一般在命令来设置,一般在命令来设置,一般在命令来设置,一般在M M M M函函函函数的开头定义。命令形式为:数的开头定义。命令形式为:数的开头定义。命令形式为:数的开头定义。命令形式为:global a b cglobal a b cglobal a b cglobal a b c“global”“global”“global”“global”命令应当在工作空间和命令应当在工作空间和命令应当在工作空间和命令应当在工作空间和M M M M函数中函数中函数中函数中都出现都出现都出现都出现,如果只在一方出现

12、,则不被承认为如果只在一方出现,则不被承认为如果只在一方出现,则不被承认为如果只在一方出现,则不被承认为全局变量。全局变量。全局变量。全局变量。MATLAB MATLAB MATLAB MATLAB 对变量名区分大小写对变量名区分大小写对变量名区分大小写对变量名区分大小写.因此,在程序因此,在程序因此,在程序因此,在程序中为了不与普通变量相混淆,中为了不与普通变量相混淆,中为了不与普通变量相混淆,中为了不与普通变量相混淆,习惯上将全局习惯上将全局习惯上将全局习惯上将全局变量用大写字母表示变量用大写字母表示变量用大写字母表示变量用大写字母表示。14编制程序,判断输入数据的奇偶性。case 值 1

13、编制M函数文件,实现不等长多项式的加法运算。注意:在嵌套过程中每一个for都必须与end相匹配,否则程序将出错。第三章 MATLAB的程序设计基础循环体switch 表达式M文件是由 MATLAB语句(命令行)构成的ASCII码文本文件,其文件名必须以.if n=0|n=1m文件)包含一连串的MATLAB指令,执行时依次执行。语句体 n2switch-case结构M文件是由 MATLAB语句(命令行)构成的ASCII码文本文件,其文件名必须以.注意:在嵌套过程中每一个for都必须与end相匹配,否则程序将出错。a,b是局部变量是局部变量15163.5 3.5 程序流程控制程序流程控制3.5.1

14、 3.5.1 3.5.1 3.5.1 循环结构循环结构循环结构循环结构MATLABMATLABMATLABMATLAB提供了两种循环结构:提供了两种循环结构:提供了两种循环结构:提供了两种循环结构:for-end for-end for-end for-end 。while-endwhile-end17 1 1for-end for-end 循环循环从从从从forforforfor开始,用开始,用开始,用开始,用endendendend结束,其基本格式为:结束,其基本格式为:结束,其基本格式为:结束,其基本格式为:for for for for 循环变量循环变量循环变量循环变量=表达式表达式表

15、达式表达式 循环体循环体循环体循环体endendendendl forforforfor和和和和endendendend是必需的,不可省略,且必须配对使用。是必需的,不可省略,且必须配对使用。是必需的,不可省略,且必须配对使用。是必需的,不可省略,且必须配对使用。l表达式通常的形式为表达式通常的形式为表达式通常的形式为表达式通常的形式为“m:s:nm:s:nm:s:nm:s:n”,m m m m是循环初值,是循环初值,是循环初值,是循环初值,n n n n是循环终值,是循环终值,是循环终值,是循环终值,s s s s为步长,为步长,为步长,为步长,s s s s可以缺省,缺省值为可以缺省,缺省

16、值为可以缺省,缺省值为可以缺省,缺省值为 1 1 1 1。18for for for for 循环变量循环变量循环变量循环变量=表达式表达式表达式表达式 循环体循环体循环体循环体endendendendl 循环体被循环执行,执行的次数循环体被循环执行,执行的次数循环体被循环执行,执行的次数循环体被循环执行,执行的次数由表达式控制。循环变量依次取表由表达式控制。循环变量依次取表由表达式控制。循环变量依次取表由表达式控制。循环变量依次取表达式矩阵的各列,每取一次,循环达式矩阵的各列,每取一次,循环达式矩阵的各列,每取一次,循环达式矩阵的各列,每取一次,循环体执行一次。体执行一次。体执行一次。体执行

17、一次。l不会因为在循环体内对循环变量不会因为在循环体内对循环变量不会因为在循环体内对循环变量不会因为在循环体内对循环变量重新设置值而中断。重新设置值而中断。重新设置值而中断。重新设置值而中断。192021以分数的形以分数的形以分数的形以分数的形式显示数据式显示数据式显示数据式显示数据2223定义一个定义一个定义一个定义一个 55 55 55 55 的方阵,其每个元素为该元素的行的方阵,其每个元素为该元素的行的方阵,其每个元素为该元素的行的方阵,其每个元素为该元素的行号和列号之和。号和列号之和。号和列号之和。号和列号之和。注意:在嵌套过程中每一个注意:在嵌套过程中每一个注意:在嵌套过程中每一个注

18、意:在嵌套过程中每一个forforforfor都必须都必须都必须都必须与与与与endendendend相匹配,否则程序将出错。相匹配,否则程序将出错。相匹配,否则程序将出错。相匹配,否则程序将出错。24 2 2while-end while-end 循环结构循环结构 while-end while-end while-end while-end 循环的循环次数不确定,直到循循环的循环次数不确定,直到循循环的循环次数不确定,直到循循环的循环次数不确定,直到循环条件不成立为止。因此,环条件不成立为止。因此,环条件不成立为止。因此,环条件不成立为止。因此,for-end for-end for-en

19、d for-end 循环为循环为循环为循环为计数循环,计数循环,计数循环,计数循环,while-end while-end while-end while-end 循环为条件循环循环为条件循环循环为条件循环循环为条件循环.while while while while 表达式表达式表达式表达式 循环体循环体循环体循环体endendendendfor-end for-end 循环的循环次数是确定的循环的循环次数是确定的循环的循环次数是确定的循环的循环次数是确定的其基本格式为其基本格式为其基本格式为其基本格式为25while while while while 表达式表达式表达式表达式 循环体循环

20、体循环体循环体endendendend 只要表达式为逻辑真,就执行循环体;一旦表达式为假,就结只要表达式为逻辑真,就执行循环体;一旦表达式为假,就结只要表达式为逻辑真,就执行循环体;一旦表达式为假,就结只要表达式为逻辑真,就执行循环体;一旦表达式为假,就结束循环。束循环。束循环。束循环。while end while end while end while end 循环结构的执行过程是:循环结构的执行过程是:循环结构的执行过程是:循环结构的执行过程是:首先判断表达式是否成立,若成立则运行循环体中的语句,首先判断表达式是否成立,若成立则运行循环体中的语句,首先判断表达式是否成立,若成立则运行循环

21、体中的语句,首先判断表达式是否成立,若成立则运行循环体中的语句,否则停止循环。否则停止循环。否则停止循环。否则停止循环。通常是通过在循环体中对表达式进行改变来控制循环是否结束。通常是通过在循环体中对表达式进行改变来控制循环是否结束。通常是通过在循环体中对表达式进行改变来控制循环是否结束。通常是通过在循环体中对表达式进行改变来控制循环是否结束。26求自然数求自然数求自然数求自然数1-101-101-101-10之和之和之和之和27283.5.2 3.5.2 条件转移结构条件转移结构1 1if else-end if else-end 结构结构 if if if if 表达式表达式表达式表达式 1

22、 1 1 1 语句体语句体语句体语句体 1 1 1 1elseif elseif elseif elseif 表达式表达式表达式表达式 2 2 2 2 语句体语句体语句体语句体 2 2 2 2 elseelseelseelse 语句体语句体语句体语句体 n n n nendendendendl l 当有多个条件时,若条件式当有多个条件时,若条件式当有多个条件时,若条件式当有多个条件时,若条件式1 1 1 1为为为为假,则再判断假,则再判断假,则再判断假,则再判断elseifelseifelseifelseif的条件式的条件式的条件式的条件式2 2 2 2,如果所有条件式都不满足,则执行如果所有

23、条件式都不满足,则执行如果所有条件式都不满足,则执行如果所有条件式都不满足,则执行elseelseelseelse的语句体的语句体的语句体的语句体n n n n,然后跳出,然后跳出,然后跳出,然后跳出ififififelse-end else-end else-end else-end 结构。结构。结构。结构。29编制编制编制编制M M M M函数文件,实现不等长多项式的加法运算。函数文件,实现不等长多项式的加法运算。函数文件,实现不等长多项式的加法运算。函数文件,实现不等长多项式的加法运算。30除以除以3求余数求余数312 2switch-caseswitch-case结构结构 switch

24、 switch switch switch 表达式表达式表达式表达式 case case case case 值值值值 1 1 1 1 语句体语句体语句体语句体 1 1 1 1 case case case case 值值值值 2 2 2 2 语句体语句体语句体语句体 2 2 2 2 otherwise otherwise otherwise otherwise 语句体语句体语句体语句体 n n n nendendendend32switch switch switch switch 表达式表达式表达式表达式 case case case case 值值值值 1 1 1 1 语句体语句体语句体

25、语句体 1 1 1 1 case case case case 值值值值 2 2 2 2 语句体语句体语句体语句体 2 2 2 2 otherwise otherwise otherwise otherwise 语句体语句体语句体语句体 n n n nendendendendl l switch switch switch switch 和和和和 end end end end 必须配对使用。必须配对使用。必须配对使用。必须配对使用。l l 表达式的值和哪种情况表达式的值和哪种情况表达式的值和哪种情况表达式的值和哪种情况(casecasecasecase)的值相同,就执行哪种)的值相同,就执行

26、哪种)的值相同,就执行哪种)的值相同,就执行哪种情况中的语句体,然后跳出该分情况中的语句体,然后跳出该分情况中的语句体,然后跳出该分情况中的语句体,然后跳出该分支结构;如果都不同,则执行支结构;如果都不同,则执行支结构;如果都不同,则执行支结构;如果都不同,则执行otherwiseotherwiseotherwiseotherwise中的语句体。中的语句体。中的语句体。中的语句体。33注意注意注意注意 case case case case 语句中可选多个取值的情况。多个语句中可选多个取值的情况。多个语句中可选多个取值的情况。多个语句中可选多个取值的情况。多个取值用取值用取值用取值用“”“”“

27、”“”表示,括号内的数据用逗号分隔。表示,括号内的数据用逗号分隔。表示,括号内的数据用逗号分隔。表示,括号内的数据用逗号分隔。353.5.3 3.5.3 流程控制命令流程控制命令命命命命 令令令令说说说说 明明明明C C C C 强行停止程序运行强行停止程序运行强行停止程序运行强行停止程序运行breakbreakbreakbreak终止执行循环终止执行循环终止执行循环终止执行循环continuecontinuecontinuecontinue结束本次循环而继续进行下次循环结束本次循环而继续进行下次循环结束本次循环而继续进行下次循环结束本次循环而继续进行下次循环disp(A)disp(A)dis

28、p(A)disp(A)显示变量显示变量显示变量显示变量 A A A A 的内容的内容的内容的内容echo on(off)echo on(off)echo on(off)echo on(off)显示程序内容(不显示程序内容,此为缺显示程序内容(不显示程序内容,此为缺显示程序内容(不显示程序内容,此为缺显示程序内容(不显示程序内容,此为缺省情况)省情况)省情况)省情况)36命命命命 令令令令说说说说 明明明明input(input(input(input(提示符提示符提示符提示符)程序暂停,显示程序暂停,显示程序暂停,显示程序暂停,显示提示符提示符提示符提示符,等待用户,等待用户,等待用户,等待用

29、户输入数据输入数据输入数据输入数据keyboardkeyboardkeyboardkeyboard暂时将控制权交给键盘(键入字符串暂时将控制权交给键盘(键入字符串暂时将控制权交给键盘(键入字符串暂时将控制权交给键盘(键入字符串 return return return return 退出)退出)退出)退出)pause(n)pause(n)pause(n)pause(n)暂停暂停暂停暂停 n n n n 秒;若无秒;若无秒;若无秒;若无 n n n n,表示暂停,直至用,表示暂停,直至用,表示暂停,直至用,表示暂停,直至用户按任意键户按任意键户按任意键户按任意键returnreturnretur

30、nreturn终止当前命令的执行,返回到调用函数终止当前命令的执行,返回到调用函数终止当前命令的执行,返回到调用函数终止当前命令的执行,返回到调用函数waitforbuttonpresswaitforbuttonpresswaitforbuttonpresswaitforbuttonpress暂停,直至用户按鼠标键或键盘键暂停,直至用户按鼠标键或键盘键暂停,直至用户按鼠标键或键盘键暂停,直至用户按鼠标键或键盘键流程控制命令流程控制命令流程控制命令流程控制命令(续续续续)371 1 1 1编制编制编制编制M M M M文件实现分段函数:文件实现分段函数:文件实现分段函数:文件实现分段函数:(2

31、2 2 2)用程序文件来实现)用程序文件来实现)用程序文件来实现)用程序文件来实现39 2.2.编制程序,判断输入数据的奇偶性。编制程序,判断输入数据的奇偶性。(1 1 1 1)只考虑输入数字的情况)只考虑输入数字的情况)只考虑输入数字的情况)只考虑输入数字的情况 40函数的递归调用调用函数的过程中出现直接或间接地调用该函数本身的现象称为函数的递调用函数的过程中出现直接或间接地调用该函数本身的现象称为函数的递归调用。归调用。在递归调用的函数中一般要有条件递归调用的语句,否则函数会一直循环在递归调用的函数中一般要有条件递归调用的语句,否则函数会一直循环下去。下去。例:求一个正整数的阶乘41function y=fun(n)%compute n!if n0 error(n should be positive integral or);%display the error information return;endif n=0|n=1 y=1;else y=n*fun(n-1);end42

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服