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

    MATLAB实用教程第郑阿奇.pptx

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

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

    MATLAB实用教程第郑阿奇.pptx

    会计学1MATLAB实用教程第郑阿奇实用教程第郑阿奇第一页,共47页。n n5.1M文件n n5.2程序流程控制(kngzh)n n5.3函数调用和参数传递 n n5.4 M文件性能的优化和加速 n n5.5内联函数 n n5.7利用函数句柄执行函数 第1页/共47页第二页,共47页。5.1 M5.1 M文件文件(wnjin)(wnjin)(Scripts and Functions Scripts and Functions)n nMATLAB程序代码所编写的文件通常以“.m”为扩展名,因此(ync)这些文件称为M文件(MATLAB M-file)。M文件是一个ASC码文件。n nM文件有两种形式:M脚本文件(Scripts)和M函数文件(Functions),M 函数文件是MATLAB程序设计的主流。第2页/共47页第三页,共47页。5.1.1 M5.1.1 M文本编辑器文本编辑器(M-File Editor)n nM文件编辑调试器窗口是集编辑与调试功能于一体(yt)的环境。第3页/共47页第四页,共47页。n n函数声明行函数声明行n nH1H1行行(用用%开头的注释行开头的注释行)n n在在线线(zi(zi xin)xin)帮帮助助文文本本(用用%开头开头)n n编写和修改记录编写和修改记录(用用%开头开头)n n函数体函数体M M 函数文件函数文件(wnjin)(wnjin)的基的基本格式:本格式:function y=Ex0502(zeta)%EX0502 二阶系统时域响应曲线二阶系统时域响应曲线(qxin)%Step response of quadratic system.%zeta 阻尼系数阻尼系数%y 时域响应时域响应%copyright 2003-08-01x=0:0.1:20;y=plot(x,y)5.1.2 M脚本文件脚本文件(Script M-files)第4页/共47页第五页,共47页。n n说明:说明:n n(1)(1)函函数数声声明明行行(the(the Function Function Definition Definition Line)Line)是是M M函函数数文文件件必必须须有有的的,M M脚脚本本文文件件没没有有;函函数数名名和和文文件件名名一一致致,当不一致时,当不一致时,MATLABMATLAB以文件名为准;以文件名为准;n n(2)(2)H1H1行行通通常常包包含含大大写写的的函函数数文文件件名名,可可以以提提供供给给helphelp和和lookforlookfor关键词查询使用;关键词查询使用;n n(3)(3)在在线线帮帮助助文文本本通通常常包包含含函函数数输输入入输输出出变变量量的的含含义义、格式说明;格式说明;n n(4)(4)编编写写和和修修改改记记录录一一般般在在空空一一行行后后,记记录录作作者者、日日期期和版本和版本(bnbn)(bnbn)记录,用于软件档案管理。记录,用于软件档案管理。n n(5)(5)函数体由实现函数体由实现M M函数文件功能的函数文件功能的MATLABMATLAB命令组成。命令组成。第5页/共47页第六页,共47页。n n(1)(1)函数声明行以函数声明行以“function”“function”引导,是引导,是MM函数文件必须有的;函数文件必须有的;n n 函数声明行的格式:函数声明行的格式:n nfunction function 输出变量列表输出变量列表=函数名函数名(输入变量列表输入变量列表)n n(2)H1(2)H1行通常包含大写行通常包含大写(dxi)(dxi)的函数文件名,可以提供给的函数文件名,可以提供给helphelp和和lookforlookfor关键词查询使用;关键词查询使用;n n(3)(3)在线帮助文本通常包含函数输入输出变量的含义、格在线帮助文本通常包含函数输入输出变量的含义、格式说明;式说明;n n(4)(4)编写和修改记录一般在空一行后,记录作者、日期和编写和修改记录一般在空一行后,记录作者、日期和版本记录,用于软件档案管理。版本记录,用于软件档案管理。n n(5)(5)函数体由函数体由MATLABMATLAB的命令或者通过流程控制结构组织的命令或者通过流程控制结构组织的命令组成。通过函数体实现函数的功能。的命令组成。通过函数体实现函数的功能。5.1.3 M函数函数(hnsh)文件文件(Function M-files)第6页/共47页第七页,共47页。n n函数文件的特点:函数文件的特点:n n(1)(1)第一行总是以第一行总是以“function”“function”引导的函数声明行;引导的函数声明行;n nfunction function 输输出出变变量量列列表表=函函数数名名(输输入入变变量量列列表表)n n(2)(2)函函数数文文件件在在运运行行过过程程中中产产生生的的变变量量都都存存放放在在函函数数本本身身的的工工作作空空间间;函函数数的的工工作作空空间间随随具具体体的的M M函函数数文件调用而产生,随调用结束而删除,文件调用而产生,随调用结束而删除,n n(3)(3)当当 文文 件件 执执 行行 完完 最最 后后 一一 条条 命命 令令 或或 遇遇 到到(y(y do)“return”do)“return”命命令令时时,就就结结束束函函数数文文件件的的运运行行,同同时函数工作空间的变量就被清除;时函数工作空间的变量就被清除;n n(4)(4)在函数文件中需要将输出变量列表赋值。在函数文件中需要将输出变量列表赋值。第7页/共47页第八页,共47页。5.2 5.2 程序流程控制程序流程控制5.2.1 for.end5.2.1 for.end循环循环(xnhun)(xnhun)结构结构n n说说明明(shumng)(shumng):执执行行的的次次数数就就是是arrayarray的的列列数数,arrayarray可可以以是是向向量量也也可可以以是是矩矩阵阵,循循环环变变量量依依次次取取arrayarray的的各各列列,每取一次循环体执行一次。每取一次循环体执行一次。for for 循环循环(xnhun)(xnhun)变变量量=array=array循环循环(xnhun)(xnhun)体体endend例:for n=1:2:10循环五次 第8页/共47页第九页,共47页。5.2.2 while.end5.2.2 while.end循环循环(xnhun)(xnhun)结构结构n nn n说说明明:表表达达式式可可以以是是向向量量也也可可以以是是矩矩阵阵,如如果果为为矩矩阵阵则则当当所所有有的的元元素素都都 为为 真真 才才 执执 行行(zhxng)(zhxng)循循环环体体,如如果果 表表 达达 式式 为为 nannan,MATLABMATLAB认认为为是是假假,不不执执行行(zhxng)(zhxng)循环体。循环体。while while 表达式表达式循环体循环体endend例如(lr):While n0end第9页/共47页第十页,共47页。5.2.3 Ifelseend5.2.3 Ifelseend条件条件转移转移(zhuny)(zhuny)结构结构n nif 条 件(tiojin)式1n n语句段1n nelseif 条件(tiojin)式2n n 语句段2n n.n nelsen n语句段n+1n nend说明:说明:IfelseendIfelseend结构也可以是没有结构也可以是没有(mi yu)elseif(mi yu)elseif和和elseelse的简单结构。的简单结构。第10页/共47页第十一页,共47页。5.2.4 switchcase5.2.4 switchcase开关开关(kigun)(kigun)结构结构n nswitch switch 开开关关(kigun)(kigun)表达式表达式n ncase case 表达式表达式1 1n n 语语 句句段段11n ncasecase表达式表达式2 2n n 语语 句句段段2 2n n.n n otherwise otherwisen n 语语 句句段段nnn nend end 说明:说明:(1)(1)如果表达式如果表达式 1 1不满足,则与下一个表达式不满足,则与下一个表达式 2 2比较,如果都不满足则执行比较,如果都不满足则执行(zhxng)otherwise(zhxng)otherwise 后面的语句段后面的语句段 n n。(2)(2)开关表达式只能是标量或字符串。开关表达式只能是标量或字符串。(3)case(3)case后面的表达式可以是标量、字符串或元胞数组,如果是元胞数组则将开关表达式与元胞数组的所有元素进行比较。后面的表达式可以是标量、字符串或元胞数组,如果是元胞数组则将开关表达式与元胞数组的所有元素进行比较。第11页/共47页第十二页,共47页。5.2.5 try.catch.End5.2.5 try.catch.End5.2.5 try.catch.End5.2.5 try.catch.End试探试探试探试探(shtn)(shtn)(shtn)(shtn)结构结构结构结构(Trapping Errors)(Trapping Errors)(Trapping Errors)(Trapping Errors)n ntryn n 语句(yj)段1n ncatch n n语句(yj)段2n nend说明:说明:首先执行语句段首先执行语句段1 1,如果出现错误,如果出现错误,则将错误信息赋给保留则将错误信息赋给保留(boli)(boli)的的lasterrlasterr变量变量执行语句段执行语句段2 2,当又出现错误,则终止该结构。当又出现错误,则终止该结构。第12页/共47页第十三页,共47页。5.2.6 5.2.6 流程控制流程控制(kngzh)(kngzh)语句语句n n1.break命令n n使包含break的最内层的for或while语句强制终止,立即跳出该结构。n n2.continue命令n n用于结束本次for或while循环,只结束本次循环而继续进行下次(xi c)循环。n n3.return命令n n终止当前命令的执行,并且立即返回到上一级调用函数或等待键盘输入命令。第13页/共47页第十四页,共47页。n n4.pause4.pause命令命令n n用来使程序运行暂停等待用户按任意键继续。用来使程序运行暂停等待用户按任意键继续。n npause pause%暂停暂停n npause(n)pause(n)%暂停暂停n n秒秒n n5.keyboard5.keyboard命令命令n n用用来来使使程程序序暂暂停停运运行行,等等待待键键盘盘命命令令,输输入入returnreturn语语句,程序就继续运行。句,程序就继续运行。n n6.input6.input命令命令n n用用来来提提示示用用户户应应该该(ynggi)(ynggi)从从键键盘盘输输入入数数值值、字字符符串和表达式,并接受该输入。串和表达式,并接受该输入。第14页/共47页第十五页,共47页。5.2.7 5.2.7 循环循环(xnhun)(xnhun)结构与动画结构与动画 n nMATLABMATLAB产生动画的方式有两种:产生动画的方式有两种:n n(1)(1)影片方式影片方式n n以以图图像像的的方方式式预预存存多多个个画画面面,再再将将这这些些画画面面逐逐帧帧播播放,就可以得到动画的效果放,就可以得到动画的效果(xiogu)(xiogu)。n n(2)(2)对象方式对象方式n n保保持持图图形形窗窗口口中中大大部部分分对对象象即即整整个个背背景景不不变变,而而只只更更新新部部分分运运动动的的对对象象,以以便便加加快快整整幅幅图图像像的的实实时时生生成速度。成速度。n n使使用用对对象象方方式式所所产产生生的的动动画画,可可以以实实现现实实时时的的变变化化,也也不不需需要要太太高高的的内内存存需需求求,但但其其缺缺点点是是无无法法产产生生太太复杂的动画。复杂的动画。第15页/共47页第十六页,共47页。n n1.以电影方式产生动画n n以电影方式产生动画,有两个步骤:n n(1)使用getframe命令来抓取图形作为画面,每个画面都是以一个(y)列向量的方式,置于存放整个电影的矩阵M中。n n(2)使用movie(M,k)命令来播放电影,并可指定矩阵M播放的重复次数k。第16页/共47页第十七页,共47页。【例【例5.10续】使用电影方式制作动画,显示续】使用电影方式制作动画,显示(xinsh)二阶二阶系统的时域波形。系统的时域波形。n=20;for i=1:n x=0:0.1:i;y=1-1/sqrt(1-0.32)*exp(-0.3*x).*sin(sqrt(1-0.32)*x+acos(0.3);plot(x,y)axis(0,20,0,1.5);%固定坐标轴固定坐标轴 M(i)=getframe;%抓取画面抓取画面end movie(M,3)第17页/共47页第十八页,共47页。n n2.以对象方式产生动画n n产生动画的具体步骤是:n n(1)先产生一个对象,其EraseMode属性为xor、background或none;n n(2)在循环中产生动画,每次循环改变此对象的位置属性xdata或ydata(或两者);n n(3)使用(shyng)drawnow命令刷新屏幕第18页/共47页第十九页,共47页。n n【例5.10续】使用电影方式制作动画,显示二阶系统的时域波形。n nx=0:0.1:20;n ny=1-1/sqrt(1-0.32)*exp(-0.3*x).*sin(sqrt(1-0.32)*x+acos(0.3);n nplot(x,y)n nh=line(0,0,color,red,marker,.,markersize,40,erasemode,xor);%定义(dngy)红色的小球n nfor i=1:length(x)n n set(h,xdata,x(i),ydata,y(i);pause(0.005)%暂停0.005秒n n drawnow%刷新屏幕n nend第19页/共47页第二十页,共47页。5.35.3函数调用和参数传递函数调用和参数传递5.3.15.3.1子函数和私有子函数和私有(syu)(syu)函数函数n n1.1.子函数(子函数(SubfunctionsSubfunctions)n n在在M M函数文件中只有一个主函数,其它则为子函数。函数文件中只有一个主函数,其它则为子函数。n n(1)(1)在在一一个个M M文文件件中中,主主函函数数必必须须出出现现在在最最上上方方,其其后后是是子函数,子函数的次序无任何限制;子函数,子函数的次序无任何限制;n n(2)(2)子子函函数数不不能能被被其其它它文文件件的的函函数数调调用用,只只能能(zh(zh nn)nn)被同一文件中的函数被同一文件中的函数(可以是主函数或子函数可以是主函数或子函数)调用;调用;n n(3)(3)同同一一文文件件的的主主函函数数和和子子函函数数变变量量的的工工作作空空间间相相互互独独立;立;n n(4)(4)用用helphelp和和lookforlookfor命令不能提供子函数的帮助信息。命令不能提供子函数的帮助信息。第20页/共47页第二十一页,共47页。n nfunction Ex0511()function Ex0511()n nz1=0.3;z1=0.3;n nEx0502(z1);Ex0502(z1);%调用调用Ex0502Ex0502n nhold onhold onn nz1=0.5z1=0.5n nEx0502(z1)Ex0502(z1)%调用调用Ex0502Ex0502n nz1=0.707;z1=0.707;n nEx0502(z1)Ex0502(z1)%调用调用Ex0502Ex0502n nfunction y=Ex0502(zeta)function y=Ex0502(zeta)n n%子函数,画二阶系统子函数,画二阶系统(xt(xt ng)ng)时域曲线时域曲线n nx=0:0.1:20;x=0:0.1:20;n ny=1-1/sqrt(1-zeta2)*exp(-zeta*x).*sin(sqrt(1-zeta2)y=1-1/sqrt(1-zeta2)*exp(-zeta*x).*sin(sqrt(1-zeta2)n n*x+acos(zeta)*x+acos(zeta)n nplot(x,y)plot(x,y)主函数主函数(hnsh)调用调用(dioyng)子函数子函数子函数子函数第21页/共47页第二十二页,共47页。【例例例例 5.115.11】画画画画 二二二二 阶阶阶阶 系系系系 统统统统 时时时时 域域域域 曲曲曲曲 线线线线 的的的的 函函函函 数数数数 作作作作 为为为为(zuwi)(zuwi)子函数,编写画多条曲线的程序。子函数,编写画多条曲线的程序。子函数,编写画多条曲线的程序。子函数,编写画多条曲线的程序。n nfunction Ex0511()function Ex0511()n n%EX0511 EX0511 使使用用函函数数调调用用绘绘制制二二阶阶系系统统(xt(xt ng)ng)时时域域响响应应n nz1=0.3;z1=0.3;n nEx0502(z1);Ex0502(z1);%调用调用Ex0502Ex0502n nhold onhold onn nz1=0.5z1=0.5n nEx0502(z1)Ex0502(z1)%调用调用Ex0502Ex0502n nz1=0.707;z1=0.707;n nEx0502(z1)Ex0502(z1)%调用调用Ex0502Ex0502function y=Ex0502(zeta)function y=Ex0502(zeta)%子函数,画二阶系统子函数,画二阶系统(xtng)(xtng)时域曲线时域曲线x=0:0.1:20;x=0:0.1:20;y=y=plot(x,y)plot(x,y)第22页/共47页第二十三页,共47页。附录附录F F 程序程序(chngx)(chngx)的调试的调试 (Debug)(Debug)n n在调试时检测和跟踪逻辑错误的方法主要有:在调试时检测和跟踪逻辑错误的方法主要有:n n(1)(1)删除某些语句行末尾的分号;删除某些语句行末尾的分号;n n(2)(2)将将函函数数调调用用中中的的被被调调函函数数单单独独调调试试,将将第第一一句句函函数数声声明明行行前前加加“%”“%”,给输入变量定义并赋值,就可以以脚本的方式来执行该函数;,给输入变量定义并赋值,就可以以脚本的方式来执行该函数;n n(3)(3)在在程程序序中中加加keyboardkeyboard语语句句,当当程程序序运运行行至至此此时时会会暂暂停停,并并在在命命令令窗窗口口显显示示“k”“k”提提示示符符,这这时时就就可可以以在在命命令令窗窗口口查查看看和和修修改改各各变变量量的内容。的内容。n n(4)(4)使使用用(shyng)MATLAB(shyng)MATLAB的的M M文文件件调调试试器器,可可以以方方便便地地查查看看和和修修改改变变量,准确地找到错误。量,准确地找到错误。第23页/共47页第二十四页,共47页。n n用 于 调 试 的 菜 单 有 两 个:“Debug”和“Breakpoints”菜单。n nDebug菜单n nStep(快捷键F10):单步运行。n n Step in(快捷键F11):单步运行进函数(hnsh)。n n Step out(快捷键shift+F11):从函数(hnsh)中出来。n nContinue(快捷键F5):从当前语句行执行程序到遇到下一个断点或程序结束。第24页/共47页第二十五页,共47页。n n2.Breakpoints2.Breakpoints菜单菜单n nBreakpointsBreakpoints菜单主要用来设置和清除断点菜单主要用来设置和清除断点 n n(1)Set/Clear Breakpoints(1)Set/Clear Breakpoints(快捷键快捷键F12)F12):设置和清除所在:设置和清除所在行的断点。行的断点。n n(2)Clear all Breakpoints(2)Clear all Breakpoints:清除所有断点。:清除所有断点。n n(3)Stop If Error(3)Stop If Error:在出错行暂停:在出错行暂停(zn tn(zn tn)。n n(4)Stop If Warning(4)Stop If Warning:在警告语句行暂停:在警告语句行暂停(zn tn(zn tn)。n n(5)Stop If Nan Or Inf(5)Stop If Nan Or Inf:在有:在有NanNan或或InfInf的语句行暂停的语句行暂停(zn tn(zn tn)。n n(6)Stop If All Error(6)Stop If All Error:在所有的出错语句行暂停:在所有的出错语句行暂停(zn(zn tntn),包括任何运行错误,包括,包括任何运行错误,包括“trycatchend”“trycatchend”结构结构中的出错也暂停中的出错也暂停(zn tn(zn tn)。第25页/共47页第二十六页,共47页。n n2.私有函数(Private Functions)n n私有函数是指存放在private子目录中的M函数文件,具有以下性质:n n(1)在private目录下的私有函数,只能被其父目录的M函数文件所调用,而不能被其它(qt)目录的函数调用;n n(2)私有函数父目录的M脚本文件也不可调用私有函数;n n(3)在函数调用搜索时,私有函数优先于其它(qt)MATLAB路径上的函数。第26页/共47页第二十七页,共47页。n n3.调用函数的搜索顺序n n在MATLAB中调用一个函数,搜索的顺序如下:n n查找是否子函数;n n查找是否私有(syu)函数;n n从当前路径中搜索此函数;n n从搜索路径中搜索此函数。第27页/共47页第二十八页,共47页。5.3.2 5.3.2 局部变量和全局变量局部变量和全局变量n n1.1.局部变量局部变量n n局局部部变变量量(Local(Local Variables)Variables)是是在在函函数数体体内内部部使使用用(shyng)(shyng)的变量,其影响范围只能在本函数内。的变量,其影响范围只能在本函数内。n n局局部部变变量量只只在在函函数数执执行行期期间间存存在在,当当函函数数执执行行完完变变量就消失。量就消失。n nn n2.2.全局变量全局变量n n全全局局变变量量(Global(Global Variables)Variables)是是可可以以在在不不同同的的函函数数工工作作空空间间和和MATALBMATALB工工作作空空间间中中共共享享使使用用(shyng)(shyng)的变量。的变量。n n全局变量在使用全局变量在使用(shyng)(shyng)前必须用前必须用globalglobal定义。定义。第28页/共47页第二十九页,共47页。n nfunction Ex0512()function Ex0512()n nglobal Xglobal Xn nX=0:0.1:20;X=0:0.1:20;n nz1=0.3;z1=0.3;n nEx0502(z1);Ex0502(z1);n nhold onhold onn nz1=0.5;z1=0.5;n nEx0502(z1);Ex0502(z1);n nz1=0.707;z1=0.707;n nEx0502(z1);Ex0502(z1);function Ex0502(zeta)%子函数,画二阶系统(xtng)时域曲线global Xy=plot(X,y);全局变量全局变量第29页/共47页第三十页,共47页。5.3.35.3.3函数函数(hnsh)(hnsh)的参数的参数(Function Arguments)(Function Arguments)n n函数调用的格式:函数调用的格式:n n 输输出出参参数数1 1,输输出出参参数数2 2,=函函数数名名(输输入入参参数数1 1,输输入入参数参数2 2,)n n1.1.参数传递规则参数传递规则n n函函数数内内变变量量与与外外界界(包包括括其其它它函函数数和和工工作作空空间间)的的唯唯一一联联系系就就是是通通过过函函数数的的输输入入输输出出参参数数。输输入入参参数数在在函函数数中中的的任何任何(rnh)(rnh)变化,都仅在函数内进行,不会传递回去。变化,都仅在函数内进行,不会传递回去。第30页/共47页第三十一页,共47页。n n2.2.函数参数函数参数(cnsh)(cnsh)的个数的个数n n(1)nargin(1)nargin和和nargoutnargout变量变量n n函函数数的的输输入入输输出出参参数数(cnsh)(cnsh)的的个个数数可可以以通通过过变变量量narginnargin和和nargoutnargout获得。获得。n nnarginnargin用用 于于 获获 得得 输输 入入 参参 数数(cnsh)(cnsh)的的 个个 数数,nargoutnargout用于获得输出参数用于获得输出参数(cnsh)(cnsh)的个数。的个数。n n(2)varargin(2)varargin和和varargoutvarargout变量变量n n“varargin”“varargin”和和“varargout”“varargout”可可以以获获得得输输入入输输出出变变量量的的各各元元素素内内容容,vararginvarargin和和varargoutvarargout都都是是元元胞数组。胞数组。第31页/共47页第三十二页,共47页。5.3.4 5.3.4 程序程序(chngx)(chngx)举例举例(ExamplesExamples)在命令在命令(mng lng)窗口中调用窗口中调用Ex0516 函数:函数:y=Ex0516(0.5)【例例5.16】n nfunction y=Ex0516(z1)function y=Ex0516(z1)n n%EX0516 EX0516 主主函函数数调调用用子子函函数数,根根据据阻阻尼尼系系数数(xsh)(xsh)绘制二阶系统时域曲线绘制二阶系统时域曲线n nt=0:0.1:20;t=0:0.1:20;n nif(z1=0)&(z1=0)&(z1 f=inline(sin(x)*exp(-z*x),x,z)y=f(5,0.3)%调用函数fy=-0.2140第36页/共47页第三十七页,共47页。5.6 利用利用(lyng)函数句柄执行函数函数句柄执行函数5.6.1 函数句柄的创建函数句柄的创建1.1.函数句柄函数句柄(Function Handles)(Function Handles)的创建的创建2.2.h_fun=fun h_fun=fun%创建函数句柄创建函数句柄3.3.h_fun=str2func(fun)%h_fun=str2func(fun)%创建函数句柄创建函数句柄4.4.利用函数句柄执行函数的优点:利用函数句柄执行函数的优点:5.5.(1)(1)在更大范围在更大范围(fnwi)(fnwi)调用函数调用函数6.6.函数句柄包含了函数文件的路径和函数类型。函数句柄包含了函数文件的路径和函数类型。7.7.(2)(2)提高函数调用的速度提高函数调用的速度8.8.(3)(3)使函数调用象使用变量一样方便、简单。使函数调用象使用变量一样方便、简单。9.9.(4)(4)可迅速获得同名重载函数的位置、类型信息。可迅速获得同名重载函数的位置、类型信息。第37页/共47页第三十八页,共47页。5.6.2 用用feval命令执行命令执行(zhxng)函函数数n n函数也可以使用feval命令(mng lng)直接执行,feval命令(mng lng)可以使用函数句柄或函数名。n ny1,y2,=feval(h_fun,arg1,arg2)n ny1,y2,=feval(funname,arg1,arg2)n n说明:h_fun是函数句柄,funname是函数名,arg1、arg2是输入参数,y1、y2是输出参数。第38页/共47页第三十九页,共47页。5.7 5.7 利用泛函命令进行利用泛函命令进行(jnxng)(jnxng)数值分析数值分析n n在MATLAB中所有以函数为输入变量的命令,都称为泛函命令。n n输出变量列表=函数名(h_fun,输入变量列表)n n输 出 变 量 列 表=函 数 名(funname,输入变量列表)n n说明:n nh_fun是要被执行的M函数文件的句柄,使用(shyng)“”符号加在函数名前面表示句柄,或者是 内 联 函 数 和 字 符 串;funname是M函数文件名。第39页/共47页第四十页,共47页。5.7.1 5.7.1 求极小值求极小值n n1.fminbnd1.fminbnd函数函数n nfminbndfminbnd函数用来计算单变量非线性函数的最小值。函数用来计算单变量非线性函数的最小值。n nx,y=fminbnd(h_fun,x1,x2,options)x,y=fminbnd(h_fun,x1,x2,options)n nx,y=fminbnd(funname,x1,x2,options)x,y=fminbnd(funname,x1,x2,options)n nx x是是funfun函函数数在在区区间间x1xx2x1x tspan=0,30;%起始值0和终止值30n n y0=1;0;%初始值n n t,y=ode45(vdpol,tspan,y0);n n%解微分方程第44页/共47页第四十五页,共47页。练习练习(linx):n n写出下列(xili)循环的次数以及每次循环的n:n nfor n=0:0.5:3n nfor n=eye(6,6)n nfor n=logspace(-1,2,4)n nfor n=1 2 3;4 5 6;7 8 9n nn=n*2n nend答案答案(d n):循环循环6次次循环循环6次次循环循环4次次第45页/共47页第四十六页,共47页。练习练习(linx):n na=1 2 3n nb=4 5 6n ntryn nc=a*bn ncatchn nc=a*bn nend查看查看(chkn)变量变量lasterr第46页/共47页第四十七页,共47页。

    注意事项

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

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开