Matlab软件的程序设计.ppt

上传人:sh****n 文档编号:6380206 上传时间:2020-02-24 格式:PPT 页数:29 大小:466.31KB
返回 下载 相关 举报
Matlab软件的程序设计.ppt_第1页
第1页 / 共29页
Matlab软件的程序设计.ppt_第2页
第2页 / 共29页
Matlab软件的程序设计.ppt_第3页
第3页 / 共29页
点击查看更多>>
资源描述
1 第三章之Matlab软件的程序设计 2 概述 主要介绍如下几个方面的内容 1 M文件的功能和特点 2 编制M文件和M函数文件的基本方法和重要步骤 3 Matlab软件中流程的控制方法 语句格式和应用方法 4 典型编程实例的分析与讲解 5 导入与导出数据的基本方法 经过本章的学习 读者将能够较为容易地使用Matlab语言编程 同时 也为以后各章的深入学习和理解打下基础 3 3 1M文件介绍 从形式上讲 Matlab程序文件是一个ASCII码文件 标准的文本文件 扩展名为 m 它包括了Matlab语言代码 因此被称为M文件 从特征上讲 Matlab与Basic语言一样 都是解释性编程语言 从功能上讲 M文件大大扩展了Matlab的能力 Mathworks公司推出的一系列工具箱 Toolbox 就是明证 4 求解三元函数的极值举例 functionf solve 1 v 求解三元函数的极值x v 1 y v 2 z v 3 首先定义起始点 x y zf x 2 2 5 sin y z 2 x 2 y 2 v 0 6 1 2 0 135 a fminsearch solve 1 v f a 1 2 2 5 sin a 2 a 3 2 a 2 2 a 1 2 5 M函数文件的构成与特点 圆周率 函数定义行 Functiondefineline 函数定义行 它表明该M文件包含一个函数 并且定义函数名 输入和输出参数 本例的第一句为 functionf solve 1 v 就是函数solve 1的定义行 其中function为关键字 f为输出参数 solve 1为函数名 v为输入参数 6 H1行 H1Line 顾名思义 H1行就是指帮助信息的第 行 在文件中的位置是第二行 这一行应该反映该M文件概括性的信息 是该M文件非常重要的信息 在Matlab命令窗口中键入lookfor 查找 命令语句时 便搜索和显示该行内容 7 帮助正文 HelpText 从H1行到第一个非注释性之间的注释为帮助正文 对文件查询帮助信息时 将显示H1行和帮助正文 例如 在Matlab命令窗口中键入以下语句 helpsolve 1屏幕上显示为 求解三元函数的极值首先定义起始点 x y z 8 函数体 FunctionBody 函数体包含了所有执行计算和赋值输出参数的Matlab代码 它可以是调用函数 流程控制 交互式输入 输出 计算 赋值 注释等内容 9 注释 Comments 注释语句以百分号 开头 它可以出现在M文件的任何地方 用户也可以在一行代码的后面加注解语句 10 M函数文件的命名规则 1 Matlab对函数名的限制和对变量名的限制相同 Matlab只识别名字的前31个字符 2 函数名必须以字母开头 其余的字符可以是字母 数字和下划线 有些操作系统可能会限制函数名的长度 3 函数的文件名一般应该与函数名相同 即由函数名加上后缀 m 组成 4 当函数的文件名和函数定义行的函数名不一样时 Matlab将忽略函数名而确认文件名 不过最好将它们统一 以免出错 11 3 2Matlab的流程控制语句 在Matlab里面一共有8种流程控制语句 1 if语句 条件选择结构 其关键字包括if else和elseif 2 switch语句 也是条件选择结构 其关键字包括switch case和otherwise 3 while语句 循环执行 组语句 执行次数不确定 而是决定于一些逻辑条件 4 for语句 循环执行一组语句 执行次数确定 5 continue语句 直接进行下一次循环 不执行本次循环体余下的语句 6 break语句 结束循环 7 try和catch语句 运行过程中遇到错误则改变流程控制 8 return语句 中断当前函数的运行 返回到上级调用函数 12 if语句 if语句 if else end 用于选择结构 最简单的调用格式为 ifexpressionstatementselseifexpressionstatementselsestatementsend 13 for循环语句 for语句 般用于循环次数确定的循环结构 它的调用格式如下 forvariable expr statement statementendforindex start incresement endstatementend 14 while循环语句 while一般用于事先不能确定循环次数的循环结构 它将循环到控制表达式为真时 它的调用格式为 whileexpressionstatementsend 15 switch case结构 switch case结构的使用格式为 switchswitch exprcasecase expr statement statementcase case expr1 case expr2 case expr3 statement statement otherwise statement statementend 16 编程提醒 1 计算过程中 当有些中间变量 或不重要的变量 的值我们不想显示时 就在命令后面加上分号 来禁止显示 2 多条命令可以写在同一行 只需要用逗号或分号将它们隔开 3 有时某些命令或者数据在一行不能全部显示 或者是为了形式上的美观 我们可以在必要的地方加上续行符 当然一个数字或者字符串 变量名或者函数名等 不能断成两行 4 有时在我们编写的程序中 需要加上某些注释或者文档 一般是便于阅读程序 只需在文档前面加上注释符 即可 注意一点的是 新的注释行前不能用续行符 只能用注释符 17 举例1 绘制磁路的电感曲线 18 19 程序 clear clc close mu0 pi 4 e 7 真空磁导率Ac 9e 4 铁心横截面面积Ag 9e 4 空气隙横截面面积lc 0 3 铁心平均长度N 500 铁心线圈匝数mur 7e4 铁心相对磁导率Rc lc mur mu0 Ac 铁心磁阻forn 1 101g n 0 01 n 1 0 01 Rg n g n mu0 Ag Rtot Rg n Rc L n N 2 Rtot endplot g L ylabel 磁路电感L H xlabel 空气隙长度g cm title 磁路的电感随着空气隙长度变化的函数曲线 20 21 举例2绘制电机机械转矩与转速函数曲线 一台三相感应电动机 参数分别为 230V 60Hz 12kW 4极绕线式转子 定子有效电阻R1 0 095 定子漏电抗X1 0 680 转子漏电抗X2 0 672 磁化电抗X2 18 7 在转子有效电阻R2 0 1 0 2 0 5 1 0 1 5和2时 利用Matlab软件绘制电机的机械转矩Tmech作以r min为单位的转子转速的函数时的变化曲线 22 clear clc close V1 230 sqrt 3 nph 3 poles 4 fe 60 R1 0 095 X1 0 680 X2 0 672 Xm 18 7 omegas 4 pi fe poles ns 120 fe poles Z1eq j Xm R1 j X1 R1 j X1 Xm R1eq real Z1eq X1eq imag Z1eq Vleq abs V1 j Xm R1 j X1 Xm 转子电阻的影响R2form 1 6ifm 1R2 0 1 elseifm 2 23 R2 0 2 elseifm 3R2 0 5 elseifm 4R2 1 0 elseifm 5R2 1 5 elseifm 6R2 2 end 转差率s的影响forn 1 200s n n 200 rpm n ns 1 s n 24 I2 abs Vleq Z1eq j X2 R2 s n Tmech n nph I2 2 R2 s n omegas end 绘制曲线plot rpm Tmech ifm 1holdendendholdxlabel 转速r rpm ylabel 机械转矩Tmech N title 电机的机械转矩Tmech作以r min为单位的转子转速的函数时变化曲线 在Matlab命令窗口中键入下面的命令语句 25 26 Matlab工具箱的查看方法 放入一个目录中的为某种目的专门编写的一组Matlab函数就可以组成一个工具箱 从某种意义上说 任何一个Matlab语言的使用者都可以是工具箱的作者 在一个工具箱中 应该有一个名为contents m的文件 用来描述工具箱中所有Matlab函数的名称和意义 在该文件中第一行应该给出该工具箱的名称 在最后一行中给出该工具箱的版本与修改时间等信息 然后分类给出该工具箱中各类函数的最基本功能 27 举例 察看work目录下的内容 键入以下命令语句 typecontents m或者typecontents解释 便会看到 work目录下的所有用来描述工具箱中所有Matlab函数的名称和意义 28 举例 察看D Matlab6p5 toolbox matlab elfun目录下的内容 需要首先进入下面的搜索路径中去 即进入以下路径中 即D Matlab6p5 toolbox matlab elfun 然后再在Matlab的命令窗口中键入以下命令语句 typecontents m或者typecontents解释 便会看到 elfun目录下的所有用来描述工具箱中所有Matlab函数的名称和意义 29 谢谢
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


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

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


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