欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    MATLAB7程序设计MATLAB7教程.ppt

    • 资源ID:70796701       资源大小:294.49KB        全文页数:53页
    • 资源格式: PPT        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    MATLAB7程序设计MATLAB7教程.ppt

    MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社第10章 MATLAB 7程序设计 教学目标 教学重点 教学过程1/28/20231MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社教学目标用交互式一的方式来编写程序适用于命令行比较简单,输入比较方便,同时处理的问题步骤较少的情况。当需要处理重复、复杂且容易出错的问题时,可以进行控制流的程序设计,这就是M文件的编程工作方式。1/28/20232MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社教学重点MATLAB 7的控制流语言变量和函数的种类了解程序的调试和优化1/28/20233MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社教学过程M文本编辑器的基本知识MATLAB 7的控制流语言变量和函数的种类程序设计的辅助函数程序的调试和优化1/28/20234MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社1.M文本编辑器的基本知识 M文本编辑器 M文件的基本属性 M文件的组成部分 脚本式M文件 函数式M文件 1/28/20235MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(1)M文本编辑器M文件的语法类似于一般高级语言,是一种程序化的编程语言,但是,与传统的高级语言相比,M文件又有自己的特点。它只是一个简单的ASC型码文本文件,因此,它的语法比一般的高级语言要简单,程序也容易调试,并且有很好的交互性。1/28/20236MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社M文件的基本属性M文件有两种,一种为脚本式(Script),一种为函数式(Function)。函数M文件必须满足一些标准,另外,它们还应该满足一些MATLAB 7的属性。主要有以下几点:函数式M文件名和出现在文件的第一行的函数名必须相同。实际上,MATLAB 7忽略了第一行的函数名,并且根据存储在硬盘上的文件名来执行函数。1/28/20237MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社M文件的组成部分函数式M文件的组成部分。调出Medit窗口,在里边输入如下内容:function f=fact(n)%函数的定义行%Compute a factorial value.%H1行%FACT(N)returns the factorial of N,%帮助文本%usually denoted by N!%Put simply,FACT(N)is PROD(1:N).%注释f=prod(1:n);%函数体1/28/20238MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社M文件的组成部分及其功能 M文件的组成部分及其功能 组 成 部 分描 述函数定义行(仅限于函数式M文件)定义函数名,以及输入和输出变量的数目和顺序H1 行H1行对程序进行概括性的描述,使用help和lookfor命令都可以调出此行帮助文本这是比H1 行更详细的帮助信息,使用help命令时与H1行一起显示函数体函数体是M文件的主要部分,程序的计算和设计都在此实现注释解释程序行的意义1/28/20239MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(2)脚本式M文件 用户可以将需要重复输入的所有命令按顺序放到一个扩展名为m的文本文件下,每次运行时只要输入该M文件的文件名即可。用户自己创建的M文件的文件名要避免与MATLAB 7的内置函数和工具箱中的函数重名,以免发生内置函数被替换的情况。1/28/202310MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社脚本式M文件举例本脚本式M文件绘制一个正弦曲线:%此文件用于绘制【2pi,2pi】区间的正弦曲线图x=-2*pi:0.05:2*pi;y=sin(x);plot(x,y,c+)legend(正弦曲线图)1/28/202311MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(3)函数式M文件函数式M文件一般都要自带参数,并且有返回结果。函数式M文件的第一行都是以function开始,说明此文件是一个函数。函数式M文件中的变量都不是全局变量,仅在函数运行期间有效,函数运行完毕之后,它所定义的变量将从工作区间中清除。1/28/202312MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社函数式M文件举例例11-4 判断某一年是否为闰年。解:调出Medit窗口,在里边输入如下内容。%该函数用于判断某一年是否为闰年%使用格式为isleapea(y),其中y是用户所要计算的年份function isleapyear(year)sign=0;if rem(year,4)=0 sign=sign+1;endif rem(year,100)=0 sign=sign-1;end if rem(year,400)=0 sign=sign+1;end if sign=1 fprintf(%4d year is a leap year.n,year)else fprintf(%4d year is not a leap year.n,year)end1/28/202313MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社2.控制流最简单的程序控制就是顺序结构,用户依次输入命令语句即可。MATLAB 7语言还提供了4种高级的控制结构。它们是:if-else-end结构、switch-case-otherwise-end结构、for循环和while循环。1/28/202314MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(1)顺序结构 顺序结构是最简单的程序结构,用户在编写好程序之后,系统将按照程序的物理位置顺次执行。a=1;b=2;c=3;s1=a+bs2=s1+cs3=s2/s21/28/202315MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(2)ifend语句只有一种选择时的情况 if 表达式执行语句end 1/28/202316MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社ifend语句有两种选择时的情况 if 表达式 执行语句1 else 执行语句2end 1/28/202317MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社ifend语句 有3种或3种以上选择时的情况 if 表达式1 表达式1为真时的执行语句1 elseif表达式2 表达式2为真时的执行语句2 elseif表达式3 表达式3为真时的执行语句3elseifelse 所有的表达式都为假时的执行语句 end1/28/202318MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(3)switchcaseend语句 switch开关语句 case条件语句,执行语句,执行语句 case 条件语句1,条件语句2,条件语句3,执行语句,执行语句 otherwise,执行语句,执行语句 end1/28/202319MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(4)trycatchend try-catch模块给用户提供了一种错误捕获机制。换句话说,利用try-catch模块,MATLAB 7编译系统发现的错误将被其捕获,用户可以控制MATLAB 7怎样对发生的错误进行处理。try 执行语句1catch执行语句 2end1/28/202320MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(5)for循环语句 For语句是一种循环语句,可以让用户很方地实现循环操作,从而可以从容地应付大规模的循环语句。for i=表达式,执行语句,执行语句 end1/28/202321MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(6)while循环语句 与for循环不同,while循环的判断控制可以是逻辑判断语句,因此,它的循环次数可以是一个不定数。这样就赋予了它比for循环更广泛的用途。while表达式 执行语句end1/28/202322MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(7)人机交互命令终止命令break和return 继续命令continue 等待用户反应命令pause echo命令 用户输入提示命令input 请求键盘输入命令keyboard 1/28/202323MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社3.变量和函数种类 与其他语言一样,MATLAB 7的变量有输入变量、输出变量和函数内使用的变量之分,而函数也有主函数、局部函数和子函数之分,本节将介绍这些不同种类变量和函数的特点。1/28/202324MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(1).函数变量及其作用域在MATLAB 7语言中,变量可以分为输入变量、输出变量和函数内使用的变量。输入变量相当于函数的入口数据,也是一个函数操作的主要对象,从某种意义上来说,函数的功能在于对输入变量进行一定的操作从而实现一定的功能。函数的输入变量为局部变量,函数对输入变量的一切操作和修改如果不依靠输出变量的话,将不会影响工作区间中该变量的值。1/28/202325MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社函数变量及其作用域变量的输入和输出规则 局部变量 全局变量 永久变量 1/28/202326MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社变量的输入和输出规则 MATLAB 7可以有任意数量的输入和输出变量。这些参数的特性和规则如下所示:(1)函数式M文件可以没有输入和输出变量。(2)函数可以用比M文件中的函数定义行所规定的输入输出变量更少的变量进行调用。但是不能用比规定的输入输出变量更多的变量进行调用。(3)在一次调用中所用到的输入和输出变量的个数可以通过分别调用函数nargin和nargout来确定。因为nargin和nargout是函数而不是变量,所以用户不能用诸如nargin=nargin+pi之类的语句对它们进行重新赋值。1/28/202327MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社局部变量 局部变量是在函数内部使用的变量,其影响范围只能在本函数内,每个函数在运行时,都占有独立的函数工作空间,此工作空间和MATLAB的工作空间时相互独立的,局部变量仅存在于函数的工作空间内。当函数执行完毕之后,该变量即自行消失。1/28/202328MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社全局变量 在MATLAB 7语言中,函数内部定义的变量都是局部变量,它们不被加载到工作区间中。有时,用户需要使用全局变量,这时要使用global函数来进行定义,而且在任何使用该全局变量的函数中都应加以定义,即使是在命令窗口也不例外。1/28/202329MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社永久变量 除了通过全局变量共享数据外,函数式M文件还可以通过声明一个变量persistent来对函数中重复使用和递归调用的变量的访问进行限制,使用格式形如persistent(X Y Z)。永久变量与全局变量类似,但是它的范围被限制在声明这些变量的函数内部,不允许在其他的函数中对它们进行改变。只要M文件还在MATLAB 7的内存中,永久变量就存在。1/28/202330MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(2)函数的分类 主函数 匿名函数 嵌套式函数 子函数 局部函数 1/28/202331MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社主函数 M文件中的第一个函数就叫做主函数,前边章节中所引用的函数事实上都是主函数,主函数之后可以是任意数量的子函数,它们可以作为主程序的子程序。一般来说,在命令窗口或是其他的M文件只能调用主函数,调用的时候就是直接调用其函数名。比如,函数average的M文件average.m如下:function y=average(x)%AVERAGE Mean of vector elements.y=sum(x)/length(x);%Actual computation1/28/202332MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社匿名函数 匿名函数提供了一种创建简单程序的方法,使用它用户可以不必每次都编写M文件。用户可以在MATLAB 7的命令窗口或是其他任意M文件和脚本文件中使用匿名函数。匿名函数的格式如下所示。fhandle=(arglist)expr1/28/202333MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社嵌套式函数 在MATLAB 7中,可以在一个函数的内部定义一个或多个其他的函数,这些在内部定义的函数被称作嵌套式函数,应当注意的是,在嵌套式函数的内部也可以定义嵌套式函数。定义嵌套式函数时,只需在另一个M文件的内部定义该函数即可,同其他M文件一样,嵌套式函数包含有M文件的所有基本部分。1/28/202334MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社子函数 与其他的高级语言一样,在MATLAB 7语言中也可以很方便地定义子函数,用来扩充函数的功能。在函数文件中题头定义的函数为主函数,而在函数体内定义的其他函数都被视为子函数。子函数只能为主函数或同一主函数下的其他子函数所使用。1/28/202335MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社局部函数 MATLAB 7语言中把放置在目录private下的函数称为局部函数,这些函数只有private目录的父目录中的函数才可以调用,其他目录下的函数不能调用。局部函数与子函数所不同的是,局部函数可以被其父目录下的所有函数所调用,而子函数则只能被其所在的M文件的主函数所调用。所以,局部函数在可用的范围上大于子函数;在函数编辑的结构上,局部函数与一般的函数文件的编辑相同,而子函数只能在主函数文件中编辑。1/28/202336MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(3)函数句柄 函数句柄提供了一种间接访问函数的手段,用户可以很方便地调用其他函数;提供函数调用过程中的可靠性;减少程序设计中的冗余;同时可以在使用函数的过程中保存函数相关的信息,尤其是关于函数执行的信息。1/28/202337MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社函数句柄函数句柄的创建 函数句柄的调用 函数句柄的操作 1/28/202338MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社函数句柄的创建函数句柄的创建比较简单,使用格式形如:fhandle=functionname其中fhandle为所创建的函数句柄,functionname为所创建的函数。1/28/202339MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社函数句柄的创建 trigFun=sin,cos,tan;plot(trigFun2(-pi:0.01:pi)1/28/202340MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社函数句柄的调用function x=plotFHandle(fhandle,data)plot(data,fhandle(data)在命令窗口中调用程序如下。plotFHandle(sin,-pi:0.01:pi)1/28/202341MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社函数句柄的操作 函 数 名功 能 描 述functions返回函数句柄的相关信息func2str根据函数句柄创建一个函数名的字符串str2func由一个函数名的字符串创建一个函数句柄save从当前工作区间向M文件保存函数句柄load从一个M文件中向当前工作区间调用函数句柄isa判断一个变量是否包含由一个函数句柄isequal判断2个函数句柄是否为某一相同函数的句柄1/28/202342MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社4.程序设计的辅助函数 执行函数 容错函数 时间运算函数 1/28/202343MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(1)执行函数 执行函数及其功能 函 数 名功 能 描 述assignin在MATLAB 7工作区间中分配变量builtin外部加载调用内置函数eval字符串调用函数evalc执行MATLAB 7的表达式evalin计算工作区间中的表达式feval字符串调用M文件run运行脚本文件1/28/202344MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(2)容错函数 程序设计的好坏在很大程度上取决于其容错能力的大小。MATLAB 7语言提供了相应的报错及警告函数error、warning、lasterr、lastwarn以及errortrap on/off等,可以很方便地实现这方面的功能。1/28/202345MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(3)时间运算函数 常用的时间控制函数及其功能 函 数 名功 能 描 述clock以向量的形式显示当前的时间和日期date以字符型显示当前的日期now以数值型显示当前的时间和日期calendar显示当月的日历表weekday显示当前日期对应的星期表达eomday给出指定年月的当月最后一天datetick指定坐标轴的日期表达形式datevec转换为向量形式显示日期1/28/202346MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社5.程序的调试和优化 程序的调试 程序的错误种类 错误的识别和程序调试 程序的优化 程序优劣的分析 程序优化的技巧 有效地使用内存 1/28/202347MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(1)程序的错误种类 在MATLAB 7的表达式中可能存在两种类型的错误,即语法错误和运行错误:语法错误 语法错误发生在M文件程序代码的生成过程中,一般是由函数参数输入类型有误或是矩阵运算阶数不符等引起。运行错误 运行错误一般指在程序运行过程中,出现溢出或是死循环等异常现象。1/28/202348MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(2)错误的识别和程序调试对于简单的问题,使用下面的一种或几种方法可以方便地求解:将函数中输出关键值的行的分号(;)去掉,这样,这些运算的中间结果将在命令窗口中予以显示,用户可以据此来检查中间结果的正确性。在函数中添加一些语句,用来显示用户认为很重要的变量的值。使用keyboard命令中断程序,该命令实现函数工作区间和命令窗口工作区间的交互,从而获得用户所需要的信息,使用该命令后,程序将处于调试状态,此时命令窗口的提示符由“”变为“K”,用户可以进行相应的操作。在函数头前加“%”,这样就将函数式M文件变为脚本式M文件,而脚本式M文件运行时,其工作区间就是MATLAB 7的工作区间,这样在出现错误的时候就可以查询这个工作区间。1/28/202349MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社错误的识别和程序调试错误识别函数及其功能 函 数 名 功 能 描 述echo在函数运行时显示代码disp显示特定的值或信息Sprintf&fprintf显示不同格式和类型的数据whos列出工作区间的所有变量size显示矩阵的维数keyboard中断程序运行,允许用户从键盘进行交互操作return回复keyboard命令后函数的运行warning显示特定的警告信息error显示特定的错误信息1/28/202350MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社错误的识别和程序调试程序断点的设置 函 数描 述dbstop用于在M文件中设置断点dbstatus显示断点信息dbtype显示M文件文本dbstep该函数用于从断点处继续执行M文件dbstack显示M文件执行时调用的堆栈dbup/dbdowm实现工作区间的切换dbquit结束调试状态1/28/202351MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(3)程序优劣的分析在MATLAB 7语言中,使用profile函数以及计时函数tic和toc来分析程序中各个部分的耗时情况,从而帮助用户找出程序中需要改进的地方。其中profile在计算相对耗时以及查找文件执行过程中瓶颈问题时更为有效,而tic和toc函数在计算绝对耗时时更为有效。1/28/202352MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(2)程序优化的技巧 程序的向量化操作 循环运算是MATLAB中的最大弱点,在程序设计中,应当尽量避免使用循环运算。用户可以通过将M文件向量化来优化M文件,所谓向量化就是使用向量和矩阵运算来代替for循环和while循环。数据的预定义 使用for循环和while循环来增加数据结构的大小时,将影响系统和内存的使用。提高效率的可行办法是进行预定义,1/28/202353

    注意事项

    本文(MATLAB7程序设计MATLAB7教程.ppt)为本站会员(wuy****n92)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档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  

    收起
    展开