信息与通信MATLAB的程序设计基础课件

上传人:鲁** 文档编号:570471404 上传时间:2024-08-04 格式:PPT 页数:61 大小:1.17MB
返回 下载 相关 举报
信息与通信MATLAB的程序设计基础课件_第1页
第1页 / 共61页
信息与通信MATLAB的程序设计基础课件_第2页
第2页 / 共61页
信息与通信MATLAB的程序设计基础课件_第3页
第3页 / 共61页
信息与通信MATLAB的程序设计基础课件_第4页
第4页 / 共61页
信息与通信MATLAB的程序设计基础课件_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《信息与通信MATLAB的程序设计基础课件》由会员分享,可在线阅读,更多相关《信息与通信MATLAB的程序设计基础课件(61页珍藏版)》请在金锄头文库上搜索。

1、第三章第三章 MATLAB MATLAB的程序设计基础的程序设计基础MATLABMATLABMATLABMATLAB的工作方式有两种,一种是的工作方式有两种,一种是的工作方式有两种,一种是的工作方式有两种,一种是交互式的指令交互式的指令交互式的指令交互式的指令行操作方式行操作方式行操作方式行操作方式,即用户在命令窗口中按,即用户在命令窗口中按,即用户在命令窗口中按,即用户在命令窗口中按MATLABMATLABMATLABMATLAB的语的语的语的语法规则输入命令行并按回车键后,系统将执行该法规则输入命令行并按回车键后,系统将执行该法规则输入命令行并按回车键后,系统将执行该法规则输入命令行并按回

2、车键后,系统将执行该命令并即时给出运算结果。命令并即时给出运算结果。命令并即时给出运算结果。命令并即时给出运算结果。 一种是一种是一种是一种是M M M M文件的编程文件的编程文件的编程文件的编程工作方式工作方式工作方式工作方式,用户通过在命令窗口中调用,用户通过在命令窗口中调用,用户通过在命令窗口中调用,用户通过在命令窗口中调用M M M M文件,从文件,从文件,从文件,从而实现一次执行多条而实现一次执行多条而实现一次执行多条而实现一次执行多条MATLABMATLABMATLABMATLAB语句的方式。语句的方式。语句的方式。语句的方式。M M M M文件是文件是文件是文件是由由由由 MAT

3、LAB MATLAB MATLAB MATLAB语句(命令行)构成的语句(命令行)构成的语句(命令行)构成的语句(命令行)构成的ASCIIASCIIASCIIASCII码文本文码文本文码文本文码文本文件,其文件名必须以件,其文件名必须以件,其文件名必须以件,其文件名必须以 .m.m.m.m 为扩展名。为扩展名。为扩展名。为扩展名。 M M M M文件又分为文件又分为文件又分为文件又分为命令命令命令命令M M M M文件文件文件文件(简称命令文件或脚本文(简称命令文件或脚本文(简称命令文件或脚本文(简称命令文件或脚本文件)和件)和件)和件)和函数函数函数函数M M M M文件文件文件文件(简称函

4、数文件)两大类。(简称函数文件)两大类。(简称函数文件)两大类。(简称函数文件)两大类。1信息与通信 MATLAB的程序设计基础3.1 M3.1 M文件编辑器文件编辑器MATLABMATLABMATLABMATLAB为用户提供了专用的为用户提供了专用的为用户提供了专用的为用户提供了专用的M M M M文件编辑器,用来帮文件编辑器,用来帮文件编辑器,用来帮文件编辑器,用来帮助用户完成助用户完成助用户完成助用户完成M M M M文件的创建、保存及编辑等工作。文件的创建、保存及编辑等工作。文件的创建、保存及编辑等工作。文件的创建、保存及编辑等工作。2信息与通信 MATLAB的程序设计基础3信息与通信

5、 MATLAB的程序设计基础M M M M文件编辑器窗口会以不同的颜色显示注释、关键文件编辑器窗口会以不同的颜色显示注释、关键文件编辑器窗口会以不同的颜色显示注释、关键文件编辑器窗口会以不同的颜色显示注释、关键词、字符串和一般程序代码;可以方便地打开和保词、字符串和一般程序代码;可以方便地打开和保词、字符串和一般程序代码;可以方便地打开和保词、字符串和一般程序代码;可以方便地打开和保存存存存M M M M文件并进行编辑,编辑功能有大多数编辑器都文件并进行编辑,编辑功能有大多数编辑器都文件并进行编辑,编辑功能有大多数编辑器都文件并进行编辑,编辑功能有大多数编辑器都有的复制、粘贴、剪切等;在有的复

6、制、粘贴、剪切等;在有的复制、粘贴、剪切等;在有的复制、粘贴、剪切等;在M M M M文件编辑器中还可文件编辑器中还可文件编辑器中还可文件编辑器中还可以进行程序的调试;以进行程序的调试;以进行程序的调试;以进行程序的调试; 4信息与通信 MATLAB的程序设计基础5信息与通信 MATLAB的程序设计基础3.2 3.2 命令文件(脚本文件或程序文件)命令文件(脚本文件或程序文件)命令文件是用户为解决特定的问题而编制的命令文件是用户为解决特定的问题而编制的命令文件是用户为解决特定的问题而编制的命令文件是用户为解决特定的问题而编制的, , , ,它包它包它包它包含了一连串的含了一连串的含了一连串的含

7、了一连串的MATLABMATLABMATLABMATLAB指令,执行时依次执行。指令,执行时依次执行。指令,执行时依次执行。指令,执行时依次执行。运行命令文件的效果等价于从运行命令文件的效果等价于从运行命令文件的效果等价于从运行命令文件的效果等价于从MATLABMATLABMATLABMATLAB命令窗口中命令窗口中命令窗口中命令窗口中顺序逐条输入并运行文件里的指令。顺序逐条输入并运行文件里的指令。顺序逐条输入并运行文件里的指令。顺序逐条输入并运行文件里的指令。 命令文件一般用命令文件一般用命令文件一般用命令文件一般用clearclearclearclear、close allclose al

8、lclose allclose all等语句开始,等语句开始,等语句开始,等语句开始,清除掉工作空间中原有的变量和图形,以避免其清除掉工作空间中原有的变量和图形,以避免其清除掉工作空间中原有的变量和图形,以避免其清除掉工作空间中原有的变量和图形,以避免其他已执行的程序残留数据对本程序的影响。他已执行的程序残留数据对本程序的影响。他已执行的程序残留数据对本程序的影响。他已执行的程序残留数据对本程序的影响。 6信息与通信 MATLAB的程序设计基础7信息与通信 MATLAB的程序设计基础3.3 3.3 函数文件函数文件函数文件函数文件函数文件函数文件:必须由其他:必须由其他:必须由其他:必须由其他

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

10、nction function 输出变量列表输出变量列表输出变量列表输出变量列表 = = = = 函数名(输入变量列表)函数名(输入变量列表)函数名(输入变量列表)函数名(输入变量列表)其中函数名为用户自己定义的函数名(与变量的命名规则相同)其中函数名为用户自己定义的函数名(与变量的命名规则相同)其中函数名为用户自己定义的函数名(与变量的命名规则相同)其中函数名为用户自己定义的函数名(与变量的命名规则相同)8信息与通信 MATLAB的程序设计基础9信息与通信 MATLAB的程序设计基础此处注意,此处注意,此处注意,此处注意,s s s s为均值,为均值,为均值,为均值,m m m m为求和。为

11、求和。为求和。为求和。10信息与通信 MATLAB的程序设计基础l 函数文件在运行过程中产生的变量都存放函数文件在运行过程中产生的变量都存放函数文件在运行过程中产生的变量都存放函数文件在运行过程中产生的变量都存放在函数本身的工作空间,当文件执行完最后一在函数本身的工作空间,当文件执行完最后一在函数本身的工作空间,当文件执行完最后一在函数本身的工作空间,当文件执行完最后一条命令或遇到条命令或遇到条命令或遇到条命令或遇到“return”return”return”return”命令时,就结束函数命令时,就结束函数命令时,就结束函数命令时,就结束函数文件的运行,同时函数工作空间的变量被清除。文件的运

12、行,同时函数工作空间的变量被清除。文件的运行,同时函数工作空间的变量被清除。文件的运行,同时函数工作空间的变量被清除。 l 用户可通过函数说明语句中的输出变量列用户可通过函数说明语句中的输出变量列用户可通过函数说明语句中的输出变量列用户可通过函数说明语句中的输出变量列表和输入变量列表来实现函数参数的传递。表和输入变量列表来实现函数参数的传递。表和输入变量列表来实现函数参数的传递。表和输入变量列表来实现函数参数的传递。输出变量列表和输入变量列表不是必须的输出变量列表和输入变量列表不是必须的输出变量列表和输入变量列表不是必须的输出变量列表和输入变量列表不是必须的。 l 程序文件可以调用函数文件,程

13、序文件可以调用函数文件,程序文件可以调用函数文件,程序文件可以调用函数文件,调用时,函调用时,函调用时,函调用时,函数文件必须保存在与程序文件相同的路径下,数文件必须保存在与程序文件相同的路径下,数文件必须保存在与程序文件相同的路径下,数文件必须保存在与程序文件相同的路径下,否则不能调用。否则不能调用。否则不能调用。否则不能调用。11信息与通信 MATLAB的程序设计基础它执行定义它执行定义它执行定义它执行定义a a a a 为符号变为符号变为符号变为符号变量,量,量,量,b b b b 为矩为矩为矩为矩阵的简单运阵的简单运阵的简单运阵的简单运算。算。算。算。12信息与通信 MATLAB的程序

14、设计基础3.4 3.4 全局变量与局部变量全局变量与局部变量函数文件中所使用的变量,除输入和输出变函数文件中所使用的变量,除输入和输出变函数文件中所使用的变量,除输入和输出变函数文件中所使用的变量,除输入和输出变量以外,所有变量都是局部变量量以外,所有变量都是局部变量量以外,所有变量都是局部变量量以外,所有变量都是局部变量,它们与其,它们与其,它们与其,它们与其他函数变量是相互隔离的,即变量只在函数他函数变量是相互隔离的,即变量只在函数他函数变量是相互隔离的,即变量只在函数他函数变量是相互隔离的,即变量只在函数内部起作用,在该函数返回之后,这些变量内部起作用,在该函数返回之后,这些变量内部起作

15、用,在该函数返回之后,这些变量内部起作用,在该函数返回之后,这些变量会自动在会自动在会自动在会自动在MATLABMATLABMATLABMATLAB的工作空间中清除掉。而的工作空间中清除掉。而的工作空间中清除掉。而的工作空间中清除掉。而命命命命令文件中的变量是全局变量令文件中的变量是全局变量令文件中的变量是全局变量令文件中的变量是全局变量,工作空间的所,工作空间的所,工作空间的所,工作空间的所有命令和函数都可以直接访问这些变量。有命令和函数都可以直接访问这些变量。有命令和函数都可以直接访问这些变量。有命令和函数都可以直接访问这些变量。 13信息与通信 MATLAB的程序设计基础全局变量全局变量

16、全局变量全局变量是由是由是由是由MATLABMATLABMATLABMATLAB提供的提供的提供的提供的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

17、 M函数中函数中函数中函数中都出现都出现都出现都出现,如果只在一方出现,则不被承认为如果只在一方出现,则不被承认为如果只在一方出现,则不被承认为如果只在一方出现,则不被承认为全局变量。全局变量。全局变量。全局变量。另外,在另外,在另外,在另外,在 MATLAB MATLAB MATLAB MATLAB 中对变量名是中对变量名是中对变量名是中对变量名是区分大小写的,因此,在程序中为了不与普区分大小写的,因此,在程序中为了不与普区分大小写的,因此,在程序中为了不与普区分大小写的,因此,在程序中为了不与普通变量相混淆,通变量相混淆,通变量相混淆,通变量相混淆,习惯上我们将全局变量用大习惯上我们将全局

18、变量用大习惯上我们将全局变量用大习惯上我们将全局变量用大写字母表示写字母表示写字母表示写字母表示。 14信息与通信 MATLAB的程序设计基础15信息与通信 MATLAB的程序设计基础16信息与通信 MATLAB的程序设计基础3.5 3.5 程序流程控制程序流程控制计算机程序通常都是从前到后逐条执行计算机程序通常都是从前到后逐条执行计算机程序通常都是从前到后逐条执行计算机程序通常都是从前到后逐条执行的,但有时也会根据实际情况,中途改的,但有时也会根据实际情况,中途改的,但有时也会根据实际情况,中途改的,但有时也会根据实际情况,中途改变执行次序,称为变执行次序,称为变执行次序,称为变执行次序,称

19、为流程控制流程控制流程控制流程控制。 3.5.1 3.5.1 3.5.1 3.5.1 循环结构循环结构循环结构循环结构在循环结构中,一组被重复执行的语句称为在循环结构中,一组被重复执行的语句称为在循环结构中,一组被重复执行的语句称为在循环结构中,一组被重复执行的语句称为循环体循环体循环体循环体,每循环一次,都必须作出是否继续重复的决定,这每循环一次,都必须作出是否继续重复的决定,这每循环一次,都必须作出是否继续重复的决定,这每循环一次,都必须作出是否继续重复的决定,这个决定所依据的条件称为个决定所依据的条件称为个决定所依据的条件称为个决定所依据的条件称为循环的终止条件循环的终止条件循环的终止条

20、件循环的终止条件。MATLABMATLABMATLABMATLAB提供了两种循环结构:提供了两种循环结构:提供了两种循环结构:提供了两种循环结构:for - end for - end for - end for - end 循环和循环和循环和循环和 while - while - while - while - end end end end 循环循环循环循环。 17信息与通信 MATLAB的程序设计基础 1 1for - end for - end 循环结构循环结构for - endfor - endfor - endfor - end循环语句从循环语句从循环语句从循环语句从forforf

21、orfor开始,用开始,用开始,用开始,用endendendend结束,其基本结束,其基本结束,其基本结束,其基本格式为:格式为:格式为:格式为:for for for for 循环变量循环变量循环变量循环变量 = = = = 表达式表达式表达式表达式 循环体循环体循环体循环体endendendendl forforforfor和和和和endendendend是必需的,不可省略,且必须配对使用。是必需的,不可省略,且必须配对使用。是必需的,不可省略,且必须配对使用。是必需的,不可省略,且必须配对使用。l 表达式是一个矩阵,用来表示循环的次数。表达表达式是一个矩阵,用来表示循环的次数。表达表达式

22、是一个矩阵,用来表示循环的次数。表达表达式是一个矩阵,用来表示循环的次数。表达式通常的形式为式通常的形式为式通常的形式为式通常的形式为“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可以缺省,缺省值为可以缺省,缺省值为可以缺省,缺省值为可以缺省,缺省值为 1 1 1 1。18信息与通信 MATLAB的程序设计基础for for for for 循环变量循环变量循环变量循环变量 = = = = 表达式表达式表达式表达

23、式 循环体循环体循环体循环体endendendendl 循环体被循环执行,执行的次数循环体被循环执行,执行的次数循环体被循环执行,执行的次数循环体被循环执行,执行的次数由表达式控制。循环变量依次取表由表达式控制。循环变量依次取表由表达式控制。循环变量依次取表由表达式控制。循环变量依次取表达式矩阵的各列,每取一次,循环达式矩阵的各列,每取一次,循环达式矩阵的各列,每取一次,循环达式矩阵的各列,每取一次,循环体执行一次。体执行一次。体执行一次。体执行一次。l 循环不会因为在循环体内对循环循环不会因为在循环体内对循环循环不会因为在循环体内对循环循环不会因为在循环体内对循环变量重新设置值而中断。变量重

24、新设置值而中断。变量重新设置值而中断。变量重新设置值而中断。19信息与通信 MATLAB的程序设计基础for - end for - end for - end for - end 循环结构的执行过程循环结构的执行过程循环结构的执行过程循环结构的执行过程是:是:是:是:从表达式矩阵的第一列开始,从表达式矩阵的第一列开始,从表达式矩阵的第一列开始,从表达式矩阵的第一列开始,依次将表达式矩阵的各列之值赋依次将表达式矩阵的各列之值赋依次将表达式矩阵的各列之值赋依次将表达式矩阵的各列之值赋值给循环变量,然后执行循环体值给循环变量,然后执行循环体值给循环变量,然后执行循环体值给循环变量,然后执行循环体中

25、的语句,直到最后一列。中的语句,直到最后一列。中的语句,直到最后一列。中的语句,直到最后一列。 for for for for 循环变量循环变量循环变量循环变量 = = = = 表达式表达式表达式表达式 循环体循环体循环体循环体endendendend21信息与通信 MATLAB的程序设计基础22信息与通信 MATLAB的程序设计基础以分数的形以分数的形以分数的形以分数的形式显示数据式显示数据式显示数据式显示数据23信息与通信 MATLAB的程序设计基础24信息与通信 MATLAB的程序设计基础定义一个定义一个定义一个定义一个 55 55 55 55 的方阵,其每个元素为该元素的行的方阵,其每

26、个元素为该元素的行的方阵,其每个元素为该元素的行的方阵,其每个元素为该元素的行号和列号之和。号和列号之和。号和列号之和。号和列号之和。 注意:在嵌套过程中每一个注意:在嵌套过程中每一个注意:在嵌套过程中每一个注意:在嵌套过程中每一个forforforfor都必须与都必须与都必须与都必须与endendendend相匹配,否相匹配,否相匹配,否相匹配,否则程序将出错。则程序将出错。则程序将出错。则程序将出错。25信息与通信 MATLAB的程序设计基础 2 2while - end while - end 循环结构循环结构 for - end for - end for - end for - en

27、d 循环的循环次数是确定的,而循环的循环次数是确定的,而循环的循环次数是确定的,而循环的循环次数是确定的,而 while - end while - end while - end while - end 循环的循环次数不确定,它循环的循环次数不确定,它循环的循环次数不确定,它循环的循环次数不确定,它是在逻辑条件控制下重复不确定次,直到是在逻辑条件控制下重复不确定次,直到是在逻辑条件控制下重复不确定次,直到是在逻辑条件控制下重复不确定次,直到循环条件不成立为止。因此,循环条件不成立为止。因此,循环条件不成立为止。因此,循环条件不成立为止。因此,for - end for - end for -

28、 end for - end 循环为计数循环,循环为计数循环,循环为计数循环,循环为计数循环, while - end while - end while - end while - end 循环为条循环为条循环为条循环为条件循环件循环件循环件循环,其基本格式为:,其基本格式为:,其基本格式为:,其基本格式为:while while while while 表达式表达式表达式表达式 循环体循环体循环体循环体endendendend26信息与通信 MATLAB的程序设计基础while while while while 表达式表达式表达式表达式 循环体循环体循环体循环体endendendendl

29、 whilewhilewhilewhile和和和和endendendend是必需的,不可省略,而且必须配对是必需的,不可省略,而且必须配对是必需的,不可省略,而且必须配对是必需的,不可省略,而且必须配对使用。使用。使用。使用。l 只要表达式为逻辑真,就执行循环体;一旦表达式只要表达式为逻辑真,就执行循环体;一旦表达式只要表达式为逻辑真,就执行循环体;一旦表达式只要表达式为逻辑真,就执行循环体;一旦表达式为假,就结束循环。为假,就结束循环。为假,就结束循环。为假,就结束循环。l 表达式可以是向量也可以是矩阵,如果表达式为表达式可以是向量也可以是矩阵,如果表达式为表达式可以是向量也可以是矩阵,如果

30、表达式为表达式可以是向量也可以是矩阵,如果表达式为矩阵,则当所有的元素都为真才执行循环体,如果表矩阵,则当所有的元素都为真才执行循环体,如果表矩阵,则当所有的元素都为真才执行循环体,如果表矩阵,则当所有的元素都为真才执行循环体,如果表达式为达式为达式为达式为 NaNNaNNaNNaN,MATLAB MATLAB MATLAB MATLAB 认为是假,不执行循环体。认为是假,不执行循环体。认为是假,不执行循环体。认为是假,不执行循环体。27信息与通信 MATLAB的程序设计基础while end while end while end while end 循环结构的执行循环结构的执行循环结构的执

31、行循环结构的执行过程是:过程是:过程是:过程是:首先判断表达式是否首先判断表达式是否首先判断表达式是否首先判断表达式是否成立,若成立则运行循环体中成立,若成立则运行循环体中成立,若成立则运行循环体中成立,若成立则运行循环体中的语句,否则停止循环。通常的语句,否则停止循环。通常的语句,否则停止循环。通常的语句,否则停止循环。通常是通过在循环体中对表达式进是通过在循环体中对表达式进是通过在循环体中对表达式进是通过在循环体中对表达式进行改变来控制循环是否结束。行改变来控制循环是否结束。行改变来控制循环是否结束。行改变来控制循环是否结束。 while while while while 表达式表达式表

32、达式表达式 循环体循环体循环体循环体endendendend求自然数求自然数求自然数求自然数1-101-101-101-10之和之和之和之和29信息与通信 MATLAB的程序设计基础30信息与通信 MATLAB的程序设计基础3.5.2 3.5.2 条件转移结构条件转移结构1 1if else - end if else - end 结构结构 if if if if 表达式表达式表达式表达式 1 1 1 1 语句体语句体语句体语句体 1 1 1 1elseif elseif elseif elseif 表达式表达式表达式表达式 2 2 2 2 语句体语句体语句体语句体 2 2 2 2 elsee

33、lseelseelse 语句体语句体语句体语句体 n n n nendendendend31信息与通信 MATLAB的程序设计基础if if if if 表达式表达式表达式表达式 1 1 1 1 语句体语句体语句体语句体 1 1 1 1elseif elseif elseif elseif 表达式表达式表达式表达式 2 2 2 2 语句体语句体语句体语句体 2 2 2 2 elseelseelseelse 语句体语句体语句体语句体 n n n nendendendendl 在执行在执行在执行在执行for-endfor-endfor-endfor-end循环和循环和循环和循环和while-end

34、while-endwhile-endwhile-end循环语句时,可循环语句时,可循环语句时,可循环语句时,可以利用以利用以利用以利用“if + break”if + break”if + break”if + break”语句中止循环运算。语句中止循环运算。语句中止循环运算。语句中止循环运算。l 当有多个条件时,若条件当有多个条件时,若条件当有多个条件时,若条件当有多个条件时,若条件式式式式1 1 1 1为假,则再判断为假,则再判断为假,则再判断为假,则再判断elseifelseifelseifelseif的的的的条件式条件式条件式条件式2 2 2 2,如果所有条件式都,如果所有条件式都,如

35、果所有条件式都,如果所有条件式都不满足,则执行不满足,则执行不满足,则执行不满足,则执行elseelseelseelse的语句的语句的语句的语句体体体体n n n n,然后跳出,然后跳出,然后跳出,然后跳出ifelse-end ifelse-end ifelse-end ifelse-end 结构;当条件式为真则执行结构;当条件式为真则执行结构;当条件式为真则执行结构;当条件式为真则执行相应的语句体,否则跳过该相应的语句体,否则跳过该相应的语句体,否则跳过该相应的语句体,否则跳过该语句体。语句体。语句体。语句体。l ifelse-endifelse-endifelse-endifelse-en

36、d结构也可以是没有结构也可以是没有结构也可以是没有结构也可以是没有elseifelseifelseifelseif和和和和elseelseelseelse的的的的简单结构,但简单结构,但简单结构,但简单结构,但ifififif和和和和endendendend是不可省略且必须配对使用。是不可省略且必须配对使用。是不可省略且必须配对使用。是不可省略且必须配对使用。32信息与通信 MATLAB的程序设计基础编制编制编制编制M M M M函数文件,实现不等长多项式的加法运算。函数文件,实现不等长多项式的加法运算。函数文件,实现不等长多项式的加法运算。函数文件,实现不等长多项式的加法运算。33信息与通信

37、 MATLAB的程序设计基础34信息与通信 MATLAB的程序设计基础35信息与通信 MATLAB的程序设计基础36信息与通信 MATLAB的程序设计基础37信息与通信 MATLAB的程序设计基础2 2switch - caseswitch - case结构结构 switch 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

38、 otherwise otherwise 语句体语句体语句体语句体 n n n nendendendend38信息与通信 MATLAB的程序设计基础switch 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 nendendendendl swi

39、tch switch switch switch 和和和和 end end end end 必须配对使用。必须配对使用。必须配对使用。必须配对使用。l 表达式的值和哪种情况表达式的值和哪种情况表达式的值和哪种情况表达式的值和哪种情况(casecasecasecase)的值相同,就执行)的值相同,就执行)的值相同,就执行)的值相同,就执行哪种情况中的语句体,然后哪种情况中的语句体,然后哪种情况中的语句体,然后哪种情况中的语句体,然后跳出该分支结构;如果都不跳出该分支结构;如果都不跳出该分支结构;如果都不跳出该分支结构;如果都不同,则执行同,则执行同,则执行同,则执行otherwiseotherw

40、iseotherwiseotherwise中的中的中的中的语句体。语句体。语句体。语句体。l 格式中也可以不包括格式中也可以不包括格式中也可以不包括格式中也可以不包括 otherwiseotherwiseotherwiseotherwise,这时如果表达,这时如果表达,这时如果表达,这时如果表达式的值与列出的各种情况式的值与列出的各种情况式的值与列出的各种情况式的值与列出的各种情况都不相同,则跳出该分支都不相同,则跳出该分支都不相同,则跳出该分支都不相同,则跳出该分支结构,继续向下执行。结构,继续向下执行。结构,继续向下执行。结构,继续向下执行。39信息与通信 MATLAB的程序设计基础实现把

41、实现把实现把实现把y y y y向量每个元素调整为被向量每个元素调整为被向量每个元素调整为被向量每个元素调整为被3 3 3 3整除后的余数后,整除后的余数后,整除后的余数后,整除后的余数后,保存到保存到保存到保存到g g g g向量中。向量中。向量中。向量中。40信息与通信 MATLAB的程序设计基础注意注意注意注意 case case case case 语句中可选多个取值的情况。多个语句中可选多个取值的情况。多个语句中可选多个取值的情况。多个语句中可选多个取值的情况。多个取值用取值用取值用取值用“”“”“”“”表示,括号内的数据用逗号分隔。表示,括号内的数据用逗号分隔。表示,括号内的数据用

42、逗号分隔。表示,括号内的数据用逗号分隔。 41信息与通信 MATLAB的程序设计基础3.5.3 3.5.3 流程控制命令流程控制命令命命命命 令令令令说说说说 明明明明C C C C 强行停止程序运行强行停止程序运行强行停止程序运行强行停止程序运行breakbreakbreakbreak终止执行循环终止执行循环终止执行循环终止执行循环continuecontinuecontinuecontinue结束本次循环而继续进行下次循环结束本次循环而继续进行下次循环结束本次循环而继续进行下次循环结束本次循环而继续进行下次循环disp(A)disp(A)disp(A)disp(A)显示变量显示变量显示变量

43、显示变量 A A A A 的内容的内容的内容的内容echo on(off)echo on(off)echo on(off)echo on(off)显示程序内容(不显示程序内容,此为显示程序内容(不显示程序内容,此为显示程序内容(不显示程序内容,此为显示程序内容(不显示程序内容,此为缺省情况)缺省情况)缺省情况)缺省情况)P P P P56565656表表表表3-13-13-13-1流程控制命令流程控制命令流程控制命令流程控制命令42信息与通信 MATLAB的程序设计基础命命命命 令令令令说说说说 明明明明input(input(input(input(提示符提示符提示符提示符)程序暂停,显示程

44、序暂停,显示程序暂停,显示程序暂停,显示提示符提示符提示符提示符,等待用户,等待用户,等待用户,等待用户输入数据输入数据输入数据输入数据keyboardkeyboardkeyboardkeyboard暂时将控制权交给键盘(键入字符串暂时将控制权交给键盘(键入字符串暂时将控制权交给键盘(键入字符串暂时将控制权交给键盘(键入字符串 return return return return 退出)退出)退出)退出)pause(n)pause(n)pause(n)pause(n)暂停暂停暂停暂停 n n n n 秒;若无秒;若无秒;若无秒;若无 n n n n,表示暂停,直至用,表示暂停,直至用,表示暂

45、停,直至用,表示暂停,直至用户按任意键户按任意键户按任意键户按任意键returnreturnreturnreturn终止当前命令的执行,返回到调用函数终止当前命令的执行,返回到调用函数终止当前命令的执行,返回到调用函数终止当前命令的执行,返回到调用函数waitforbuttonpresswaitforbuttonpresswaitforbuttonpresswaitforbuttonpress暂停,直至用户按鼠标键或键盘键暂停,直至用户按鼠标键或键盘键暂停,直至用户按鼠标键或键盘键暂停,直至用户按鼠标键或键盘键P P P P56565656表表表表3-13-13-13-1流程控制命令流程控制命

46、令流程控制命令流程控制命令43信息与通信 MATLAB的程序设计基础44信息与通信 MATLAB的程序设计基础45信息与通信 MATLAB的程序设计基础3.5.4 3.5.4 程序举例程序举例1 1 1 1编制编制编制编制M M M M文件实现分段函数:文件实现分段函数:文件实现分段函数:文件实现分段函数: (1 1 1 1)用函数文件来实现)用函数文件来实现)用函数文件来实现)用函数文件来实现46信息与通信 MATLAB的程序设计基础1 1 1 1编制编制编制编制M M M M文件实现分段函数:文件实现分段函数:文件实现分段函数:文件实现分段函数: (2 2 2 2)用程序文件来实现)用程序

47、文件来实现)用程序文件来实现)用程序文件来实现47信息与通信 MATLAB的程序设计基础 2. 2. 编制程序,判断输入数据的奇偶性。编制程序,判断输入数据的奇偶性。 (1 1 1 1)只考虑输入数字的情况)只考虑输入数字的情况)只考虑输入数字的情况)只考虑输入数字的情况 48信息与通信 MATLAB的程序设计基础 2. 2. 编制程序,判断输入数据的奇偶性。编制程序,判断输入数据的奇偶性。 (2 2 2 2)考虑输入是空格或直接按回车键的情况)考虑输入是空格或直接按回车键的情况)考虑输入是空格或直接按回车键的情况)考虑输入是空格或直接按回车键的情况 49信息与通信 MATLAB的程序设计基础

48、3. 3. 3. 3. 编制程序,寻找输入数组中的最大数。编制程序,寻找输入数组中的最大数。编制程序,寻找输入数组中的最大数。编制程序,寻找输入数组中的最大数。50信息与通信 MATLAB的程序设计基础4. 4. 4. 4. 求任意度数的三角函数值,并将正弦、余求任意度数的三角函数值,并将正弦、余求任意度数的三角函数值,并将正弦、余求任意度数的三角函数值,并将正弦、余弦、正切及余切同时按表格形式显示出来。弦、正切及余切同时按表格形式显示出来。弦、正切及余切同时按表格形式显示出来。弦、正切及余切同时按表格形式显示出来。51信息与通信 MATLAB的程序设计基础52信息与通信 MATLAB的程序设

49、计基础函数的递归调用调用函数的过程中出现直接或间接地调用该函数本调用函数的过程中出现直接或间接地调用该函数本身的现象称为函数的递归调用。在递归调用的函数身的现象称为函数的递归调用。在递归调用的函数中一般要有条件递归调用的语句,否则函数会一直中一般要有条件递归调用的语句,否则函数会一直循环下去。循环下去。例:求一个正整数的阶乘53信息与通信 MATLAB的程序设计基础function y=fun(n)%compute n!if n0 error(n should be positive integral or );%display the error information return;end

50、if n=0|n=1 y=1;else y=n*fun(n-1);end54信息与通信 MATLAB的程序设计基础例3.1 电阻电路的计算把方程组写成矩阵形式为用基尔霍夫定理列方程组用基尔霍夫定理列方程组(1)如如us10v,求,求i3,u4,u7(2)如如u46v,求,求us,i3,u70)(0)()(c765b5c5b543a3sb3a321=+-=-+-=-+iRRRiRiRiRRRiRuiRiRRR55信息与通信 MATLAB的程序设计基础clear,format compactR1=2;R2=4;R3=12;R4=4;R5=12;R6=4;R7=2;%为给定元件赋值为给定元件赋值%

51、解问题(解问题(1)display(解问题(解问题(1))a11=R1+R2+R3;a12=-R3;a13=0; %将系数矩阵各元素赋值将系数矩阵各元素赋值a21=-R3;a22=R3+R4+R5; a23=-R5; a31=0;a32=-R5;a33=R5+R6+R7;b1=1;b2=0;b3=0;us=input(us=); % 输入解输入解(1)的已知条件的已知条件A=a11,a12,a13;a21,a22,a23;a31,a32,a33 % 列出系数矩阵列出系数矩阵AB=b1;0;0; I=AB*us; % I=ia;ib;icia=I(1);ib=I(2);ic=I(3);i3=ia

52、-ib,u4=R4*ib,u7=R7*ic% 解出所需变量解出所需变量56信息与通信 MATLAB的程序设计基础% 利用电路的线性性质及问题(利用电路的线性性质及问题(1)的解)的解display(解问题(解问题(2))u42=input(给定给定u42= );k1=i3/us;k2=u4/us;k3=u7/us;% 由问题(由问题(1)得出待求量与)得出待求量与us的比例系数的比例系数us2=u42/k2,i32=k1/k2*u42,u72=k3/k2*u42% 按比例方法求出所需变量按比例方法求出所需变量57信息与通信 MATLAB的程序设计基础例3.2 戴维南定理已知:已知:R14,R2

53、=2,R3=4,R4=8;is1=2A,is2=0.5A求:负载求:负载RL为何值时能获得最大功率为何值时能获得最大功率 研究研究RL在在010范围变化时,其吸收功率的情况范围变化时,其吸收功率的情况58信息与通信 MATLAB的程序设计基础例例3.2 戴维南定理(续)戴维南定理(续)写成 59信息与通信 MATLAB的程序设计基础例例3.3 含受控源的电阻电路含受控源的电阻电路l例3.3的电路图已知:已知:R1R2=R3=4, R4=2;is=2A,k1=0.5,k2=4求求i1,i260信息与通信 MATLAB的程序设计基础续例续例3.3 含受控源的电阻电路含受控源的电阻电路l写成矩阵形式有写成矩阵形式有61信息与通信 MATLAB的程序设计基础

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号