MATLAB及其在电气工程中的应用 教学课件 ppt 作者 苏小林 第五章

上传人:E**** 文档编号:89242901 上传时间:2019-05-21 格式:PPT 页数:52 大小:240.51KB
返回 下载 相关 举报
MATLAB及其在电气工程中的应用 教学课件 ppt 作者 苏小林 第五章 _第1页
第1页 / 共52页
MATLAB及其在电气工程中的应用 教学课件 ppt 作者 苏小林 第五章 _第2页
第2页 / 共52页
MATLAB及其在电气工程中的应用 教学课件 ppt 作者 苏小林 第五章 _第3页
第3页 / 共52页
MATLAB及其在电气工程中的应用 教学课件 ppt 作者 苏小林 第五章 _第4页
第4页 / 共52页
MATLAB及其在电气工程中的应用 教学课件 ppt 作者 苏小林 第五章 _第5页
第5页 / 共52页
点击查看更多>>
资源描述

《MATLAB及其在电气工程中的应用 教学课件 ppt 作者 苏小林 第五章 》由会员分享,可在线阅读,更多相关《MATLAB及其在电气工程中的应用 教学课件 ppt 作者 苏小林 第五章 (52页珍藏版)》请在金锄头文库上搜索。

1、,第5章 MATLAB编程基础,MATLAB可以像C、C+、Fortran等高级语言一样进行程序设计,编写扩展名为.m的程序文件 M文件。利用MATLAB强大的程序设计功能,可以非常灵活、高效地解决各种实际问题。本章将介绍M文件编辑调试环境和用M语言进行编程的方法。 5.1 概 述 M文件是一种程序文件,它是利用MATLAB提供的M语言来编写实现的。这种编程语言是一种高级编程语言,是一种解释性编程语言,利用该语言编写的程序代码仅能被MATLAB接受、解释和执行。 由于MATLAB是用C语言开发而成的,因此,M语言文件的语法规则与C语言几乎一样。M语言文件也是纯文本格式的文件,其文件的扩展名为.

2、m。利用任何一种纯文本编辑软件都可以编写M语言文件,例如Windows系统下的记事本、UltraEdit等软件。为了方便程序的编辑、调试、编译,MATLAB提供了一个M文件编辑器,它是系统默认的M文件编辑器。该编辑器是一个集成了编辑、调试、编译、运行等功能的编程开发环境,用户可在该集成环境中,进行程序设计与开发。 M文件有两种格式,即脚本和函数。脚本式M文件不接受输入参数,也不返回输出参数,它只是命令语句的简单叠加,与批处理文件很相似,它仅对工作空间的数据变量进行操作,所产生的新数据变量也是存放在,工作空间中。函数式M文件可以接受输入参数,也可以返回输出参数,函数中的变量是局部变量。在MATL

3、AB中的M文件绝大多数是函数式M文件。 MATLAB的函数主要有两类,一类被称为内建函数,是由MATLAB的内核提供的,能够完成大量的基本运算,例如三角函数、指数函数、对数函数、矩阵运算的函数等。另一类函数就是利用高级语言编写的函数文件,既包含M函数文件,也包含用C语言开发的MEX函数文件。有关MEX函数文件的内容已超出了本书的内容,请读者参阅相关文献。实际上,MATLAB产品族中包含的工具箱就是由世界上在相应专业领域内的专家、学者等,利用M语言开发的算法函数文件库。 MATLAB提供了几种不同的函数形式,可供用户在程序设计中使用,例如匿名函数、主函数与子函数、私有函数、嵌套函数等。 在MAT

4、LAB程序设计中,即可进行结构化的程序设计,也可进行面向对象的程序设计。结构化程序设计是采用自顶向下、逐步求精的程序设计思想,它使用三种基本控制结构来进行编写程序,即顺序结构、选择结构、循环结构,M语言为结构化程序设计提供了相关指令和语法规则。面向对象程序设计是使用对象、类、继承、封装、消息等基本概念来进行程序设计,利用M语言也可以进行面向对象编程。有关面向对象编程的内容,请读者参阅MATLAB帮助文档或有关参考文献,本章只介绍有关结构化程序设计的相关内容。,5.2 编程环境 MATLAB提供的M文件编辑器,是一个集成的开发环境。在该环境中,用户可以进行程序编写(编辑)、调试、编译和运行。 启

5、动该编辑器有多种方法。当创建一个新的M文件,或者打开一个已有M文件时,编辑器将自动启动。进入编辑器环境后,用户可根据自己的需要定制编辑器风格。 创建一个新的M文件有以下几种方法: 创建一个空白文件时,可选择菜单命令“File”“New”“Blank M-File”,或者按工具栏中的“New M-File”按钮 ,或者在命令窗键入并执行edit命令。这些方法创建一个未命名的、空白的M文件,并且进入编辑器环境。当在命令窗中键入并执行edit filename.ext时,若文件filename.ext在当前目录或者搜索路径上已存在,则打开该文件;若文件filename.ext在当前目录或者搜索路径上

6、不存在,则弹出一个确定对话框,确定是否创建一个命名的文件。 创建一个带有预设函数文件结构的函数文件时,选择菜单命令“File”“New”“Function M-File”。,打开一个已有的M文件有以下几种方法: 选择菜单命令“File”“Open”,弹出Open界面,选择所需打开的文件,按打开按钮,或者双击所选文件。 按工具栏中的“Open file”按钮 ,弹出Open界面,选择所需打开的文件,按打开按钮,或者双击所选文件。 在命令窗使用命令open打开已有M文件,命令open后应给出路径和文件名。 启动编辑器后,就进入到了编程和调试环境,图5-1给出了编辑器的一个界面示例。该环境是标准的窗

7、口界面,从上到下依次包含有标题栏、菜单栏、工具栏、代码编辑区、状态栏等。界面大部分区域为代码或文本的编写区域,其左边的数字表示语句行的行号,其中数字右侧不带“-”的表示是非执行语句行,如注释行、空行等,右侧带“-”的为可执行语句。右下角为状态栏,显示光标所处的行号和列号。,图5-1 编辑器界面,用户可根据需要对编辑器环境进行个性化定制,选择菜单“File”“Preferences”,弹出Preferences界面,选择“Editor/Debugger”,其还包含有Display,Tab,Language,Code Folding,Autosave页面。用户可在这些页面中进行需要的设置和选项,具

8、体请参阅帮助文档。 在编辑区中,为了使得代码更加具有可读性和高效编写,一方面采用语法突显,即对代码中不同的条目采用不同颜色显示,有助于发现匹配项元素,例如if/else语句颜色,还有未结束字符串(缺少一个单引号)与完整字符串用不同颜色显示等。另一方面,采用语句缩进,例如if/else/end中的语句体,较对应的if/else/end关键词间的内容进行缩进,这样使得编写的代码层次分明,也能避免编写过程中发生错误,如图5-1所示。语句缩进既可通过“File”“Preferences”设置实现自动缩进,也可通过空格键插入空格实现人工缩进. 5.3 程序结构与控制语句 程序结构一般可分为顺序结构、选择

9、结构、循环结构三种。每种程序结构都有各自的流程控制机制,相互配合使用可以实现功能强大的程序。,5.3.1 顺序结构 顺序结构是指组成程序的所有语句按照由上至下的次序依序执行的一种结构,它不需要任何流程控制语句,只是程序语句的简单罗列。顺序结构是最基本的程序结构,也是其他程序机构中的重要组成部分。前面章节各示例中的程序段都是典型的顺序结构。 5.3.2 选择结构 选择结构亦称为分支结构,是根据一定条件选择执行不同的操作、实现不同功能的一种程序结构。其条件判断需要使用条件语句,在MATLAB中提供了if语句和switch语句。 1. if语句结构 if语句的选择结构有三种形式,其格式如下。 (1)

10、 单分支结构 if expression statements end 如果条件表达式expression为真,执行if与end之间的命令组statements;如果条件表达式为假,则跳过该命令组。一般,条件表达式由关系表达式或者逻辑表达式组成,这些表达式返回的都是逻辑值0或者1,作为条件判断的依据。,(2) 双分支结构 if expression statements1 else statements2 end 如果条件表达式expression为真,执行命令组statements1,否则执行命令组statements2。 (3) 多分支结构 if expression1 statement

11、s1 elseif expression2 statements2 elseif expression3 statements3 else statementsk end,如果条件表达式expression1为真,执行命令组statements1,否则判断条件表达式expression2;如果expression2为真,执行命令组statements2,否则判断条件表达式expression3,依次类推。如果所有条件表达式都为假,则执行else与end之间的命令组statementsk。 if语句可以相互嵌套,即根据实际需要在一个if语句中再嵌套一个或多个if语句,以实现比较复杂的功能。在编写

12、时,为了增强程序的可读性,应使对应的if-else-end配对对齐,并逐层进行缩进。,【例5-1】用if语句编写计算某物品的一次销售金额,购买10件及以上,按9.5折计。 打开m文件编辑器以新建一个m文件,在编辑区中,输入以下语句: unit_price=input(单价:); item_num=input(购买数量:); if item_num=10 total_price=0.95*unit_price*item_num; else total_price=unit_price*item_num; end display(总额:,num2str(total_price),元),elseif

13、 hundred_score=80 end disp(corresponding grade_score:,grade_score) 以if_example2.m为文件名保存。在命令窗中键入if_example2,根据提示由键盘输入86,运行显示结果为 if_example2 please input test_score:86 corresponding grade_score:B 2. switch语句 对于多分支选择结构,正如上面所介绍,可以采用if语句来实现。如果多分支选择结构是基于,值为整型或字符型量的表达式,或者是基于整型变量或字符型变量,则可使用switch语句来实现。switc

14、h语句结构的形式如下: switch switch-expr case case-expr1, statements1 case case-expr2 statements2 case case-expr3 statements3 otherwise statements end switch-expr表达式的值是一个标量或者字符串。MATLAB将switch-expr表达式的值依次与case后面的case-expr的值进行比较。如果相等,则执行该case后面的语句,然后跳出分支结构,执行end后面的语句;如果不相等,则与下一个case后面的case-expr的值进行比较。如果没有一个case

15、-expr与之匹配相等,就执行otherwise后面的语句。,如果需要针对多个条件而使用同一个case分支的时候,需要使用元胞数组,即对应case命令后的case-expr为元胞数组。MATLAB会将switch-expr的值与该元胞数组中的所有元素进行比较。如果元胞数组中某个元素与之相等,则比较结果为真,执行该case分支的语句。 【例5-3】switch语句结构示例。 % switch_example.m var=input(input a number:); switch var case 0 fvar=10; case 1 fvar=20; case 2,3,4 fvar=50; ca

16、se 5 fvar=60; otherwise fvar=80; end,disp(favr=,int2str(fvar) 保存文件switch_example.m。在命令窗中运行switch_example,可验证程序的运行分支。在程序的case分支中,使用了元胞数组2,3,4,如果var的值为2、3或者4,则执行fvar=50。 5.3.3 循环结构 在解决许多问题的时候往往需要进行有规律的重复计算,直至指定任务完成为止,这时就要使用循环结构。在循环结构中,被重复执行的语句块称为循环体,控制循环流程的语句称为循环条件。 在MATLAB中,有两种循环结构,一种是循环次数确定的for循环,另一种是循环次数不确定的while循环。 1. for循环 for循环是用于循环次数已知或者预定的一种循环结构,其常用的调用格式如下: for var=expr statements end 其中,statements是需重复执行的语句块,即循环体;var 是循环变量;expr是表达

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

最新文档


当前位置:首页 > 高等教育 > 大学课件

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