Matlab软件的程序设计.ppt

上传人:恋****泡 文档编号:873067 上传时间:2019-08-12 格式:PPT 页数:27 大小:604.50KB
返回 下载 相关 举报
Matlab软件的程序设计.ppt_第1页
第1页 / 共27页
Matlab软件的程序设计.ppt_第2页
第2页 / 共27页
点击查看更多>>
资源描述

《Matlab软件的程序设计.ppt》由会员分享,可在线阅读,更多相关《Matlab软件的程序设计.ppt(27页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、1,概述,主要介绍如下几个方面的内容:(1)M文件的功能和特点;(2)编制M文件和M函数文件的基本方法和重要步骤;(3)Matlab软件中流程的控制方法、语句格式和应用方法;(4)典型编程实例的分析与讲解;(5)导入与导出数据的基本方法。经过本章的学习,读者将能够较为容易地使用Matlab语言编程,同时,也为以后各章的深入学习和理解打下基础。,2,3-1 M文件介绍,从形式上讲:Matlab程序文件是一个ASCII码文件(标准的文本文件),扩展名为.m,它包括了Matlab语言代码,因此被称为M文件;从特征上讲:Matlab与Basic语言一样,都是解释性编程语言;从功能上讲:M文件大大扩展了

2、Matlab的能力。Mathworks公司推出的一系列工具箱(Toolbox)就是明证。,3,求解三元函数的极值举例,(function f = solve_1 (v) %求解三元函数的极值x = v(1); y = v(2); z = v(3); %首先定义起始点:x,y,zf = x.2 + 2.5*sin(y) - z2*x2*y2; 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,4,M函数文件的构成与特点,圆周率,函数定义行(Function

3、 define line)函数定义行,它表明该M文件包含一个函数,并且定义函数名、输入和输出参数。本例的第一句为“function f = solve_1 (v)”,就是函数solve_1的定义行,其中function为关键字,f为输出参数,solve_1为函数名,v为输入参数。,5,H1行(H1 Line),顾名思义,H1行就是指帮助信息的第行,在文件中的位置是第二行。这一行应该反映该M文件概括性的信息,是该M文件非常重要的信息,在Matlab命令窗口中键入lookfor(查找)命令语句时,便搜索和显示该行内容。,6,帮助正文(Help Text),从H1行到第一个非注释性之间的注释为帮助正

4、文,对文件查询帮助信息时,将显示H1行和帮助正文。例如:在Matlab命令窗口中键入以下语句: help solve_1屏幕上显示为:求解三元函数的极值首先定义起始点:x,y,z,7,函数体(Function Body),函数体包含了所有执行计算和赋值输出参数的Matlab代码。它可以是调用函数、流程控制、交互式输入输出、计算、赋值、注释等内容。,8,注释(Comments),注释语句以百分号(%)开头,它可以出现在M文件的任何地方,用户也可以在一行代码的后面加注解语句。,9,M函数文件的命名 规则,(1)Matlab对函数名的限制和对变量名的限制相同,Matlab只识别名字的前31个字符;(

5、2)函数名必须以字母开头,其余的字符可以是字母、数字和下划线,有些操作系统可能会限制函数名的长度;(3)函数的文件名一般应该与函数名相同,即由函数名加上后缀“.m”组成;(4)当函数的文件名和函数定义行的函数名不一样时,Matlab将忽略函数名而确认文件名。不过最好将它们统一,以免出错。,10,3-2 Matlab的流程控制语句,在Matlab里面一共有8种流程控制语句:(1)if语句,条件选择结构。其关键字包括if、else和elseif;(2)switch语句,也是条件选择结构。其关键字包括switch、case和otherwise;(3)while语句,循环执行组语句,执行次数不确定,而

6、是决定于一些逻辑条件;(4)for语句,循环执行一组语句,执行次数确定;(5)continue语句,直接进行下一次循环,不执行本次循环体余下的语句;(6)break语句,结束循环;(7)try和catch语句,运行过程中遇到错误则改变流程控制;(8)return语句,中断当前函数的运行,返回到上级调用函数。,11,if语句,if语句(if-else-end)用于选择结构,最简单的调用格式为:if expression statements elseif expression statements else statements end,12,for循环语句,for语句般用于循环次数确定的循环结

7、构,它的调用格式如下:for variable = expr, statement, ., statement endfor index=start:incresement:endstatementend,13,while循环语句,while一般用于事先不能确定循环次数的循环结构,它将循环到控制表达式为真时,它的调用格式为:while expression statements end,switch-case结构,switch-case结构的使用格式为:switch switch_expr case case_expr, statement, ., statement case case_ex

8、pr1, case_expr2, case_expr3,. statement, ., statement . otherwise, statement, ., statement end,15,编程提醒,(1)计算过程中,当有些中间变量(或不重要的变量)的值我们不想显示时,就在命令后面加上分号(“;”)来禁止显示;(2)多条命令可以写在同一行,只需要用逗号或分号将它们隔开;(3)有时某些命令或者数据在一行不能全部显示,或者是为了形式上的美观,我们可以在必要的地方加上续行符(“”),当然一个数字或者字符串(变量名或者函数名等)不能断成两行;(4)有时在我们编写的程序中,需要加上某些注释或者文档

9、(一般是便于阅读程序),只需在文档前面加上注释符(“%”)即可。注意一点的是,新的注释行前不能用续行符,只能用注释符%,16,举例1:绘制磁路的电感曲线,17,18,程序,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;%铁心磁阻for n=1:101 g(n)=0.01+(n-1)*0.01; Rg(n)=g(n)/mu0/Ag; Rtot=Rg(n)+Rc; L(n)=N2/Rtot;

10、endplot(g,L),ylabel(磁路电感L/H),xlabel(空气隙长度g/cm);title(磁路的电感随着空气隙长度变化的函数曲线);,19,20,举例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为单位的转子转速的函数时的变化曲线,21,clear;clc;close;V1=23

11、0/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);%转子电阻的影响R2for m=1:6 if m=1 R2=0.1; elseif m=2,22,R2=0.2; elseif m=3 R2=0.5; elseif m=4 R2=1.0; else

12、if m=5 R2=1.5; elseif m=6 R2=2; end%转差率s的影响 for n=1:200 s(n)=n/200; rpm(n)=ns*(1-s(n);,23,I2=abs(Vleq/(Z1eq+j*X2+R2/s(n); Tmech(n)=nph*I22*R2/(s(n)*omegas); end%绘制曲线 plot(rpm,Tmech) if m=1 hold end end hold xlabel(转速r/rpm), ylabel(机械转矩Tmech/N); title(电机的机械转矩Tmech作以r/min为单位的转子转速的函数时变化曲线);在Matlab命令窗口中

13、键入下面的命令语句:,24,25,Matlab工具箱的查看方法,放入一个目录中的为某种目的专门编写的一组Matlab函数就可以组成一个工具箱。从某种意义上说,任何一个Matlab语言的使用者都可以是工具箱的作者。在一个工具箱中,应该有一个名为contents.m的文件,用来描述工具箱中所有Matlab函数的名称和意义。在该文件中第一行应该给出该工具箱的名称,在最后一行中给出该工具箱的版本与修改时间等信息。然后分类给出该工具箱中各类函数的最基本功能。,26,举例:察看work 目录下的内容,键入以下命令语句: type contents.m或者 type contents解释:便会看到, work 目录下的所有用来描述工具箱中所有Matlab函数的名称和意义,27,举例:察看D:Matlab6p5toolboxmatlabelfun 目录下的内容,需要首先进入下面的搜索路径中去,即进入以下路径中,即D:Matlab6p5toolboxmatlabelfun,然后再在Matlab的命令窗口中键入以下命令语句: type contents.m或者 type contents解释:便会看到, elfun目录下的所有用来描述工具箱中所有Matlab函数的名称和意义,

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

当前位置:首页 > 技术资料 > 技术方案

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com