MATLAB经典教程第五章_程序设计.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MATLAB经典教程第五章_程序设计

第五章 程序设计 流程控制 函数 文件 5.2 函数 1)对于函数的调用者而言,函数就可以认为是一个“黑箱”,有输入输出,但是具体如何实现则不可见。 2)接口问题:函数与其调用者信息传递的方式。 在matlab、c等编程语言中,通过输入变量、输出变量 来实现信息传递。 3) 输入变量:函数的入口数据,由函数的调用者传入; 输出变量:函数的出口数据,传递给函数的调用者。 4)函数的执行过程中,相关变量的生存周期是怎样的?内存空间的创建与销毁。 5.2 函数 函数调用: 1)主函数中的x0,y0与子函数iter中的x0,y0有何关系? 2)如果将iter的输出变量改为[xs,ys],可以吗?程序如何改写? 3)如果将xs、ys改为全局变量,不通过输入参量进行信息传递,iter函数如何改写? 5.2 函数 全局变量: 1)定义: global var1 var2 例子7:用全局函数实现例1. (exam4_7.m) 5.2 函数 全局变量: function exam3_7 global xs ys x0=rand(1); y0=rand(1); xs=x0; ys=y0; for i=1:10000 iter; end 5.2 函数 全局变量: function iter global xs ys a=2; b=2.9; x0=xs(end); y0=ys(end); x1=a*y0*sin(x0); y1=abs(x0)-b; xs(end+1)=x1; ys(end+1)=y1; return; * * 5.0 概述 MATLAB作为一种高级计算语言,不仅可以做: a)数值计算; b)符号计算; c)绘图; … 还可以像basic ,fortran,c等其它高级计算机语言一样进行程序设计,即编制以m为扩展名的文本文件(简称M文件)。 概 述 M语言:MATLAB提供了完整的编写应用程序的能力, 这种能力通过一种被称为M语言的高级语言来实现。 解释型语言 M文件:一个M语言文件就是由若干MATLAB的命令组合在一起构成的,这些命令都是在前面章节中介绍的合法的MATLAB命令。其文件的扩展名为.m。 2 种形式:命令式、函数式;前者是命令行的简单叠加;后者则用以解决参数传递和函数调用的问题。 概述(函数) 内建函数: (Build-in)函数,这类函数是由MATLAB的内核提供的,能够完成基本的运算,例如三角函数、矩阵运算的函数等。(应该是有经过优化的,运算速度比较快。) 高级语言开发的函数:用户自己开发的函数,由此基础上可以构成专用领域的toolbox,或者针对某个具体任务的application。 meditor:为了方便编辑M文件,MATLAB也提供了一个编辑器,叫作meditor,它也是系统默认的M文件编辑器。 *.m 文件是文本文件,所以任何一个文本编辑器都可以编辑它。 note:一个完成的集成开发环境(IDE)应该包括编辑、编译、调试等功能。Meditor提供了编辑、调试的功能。因为它是解释性语言,因此一般的m文件不经过编译环节。 流程控制 流程控制 :语句的组合方式。 组合的结构: 1)顺序结构; 2)选择结构; 3)循环结构。 程序的任何逻辑都可以由这三种结构组成。 5.1 流程控制 例子1: 有如下迭代公式: 其中表示第k时刻的数值,表示第k+1时刻的数值。 参数设置如下:a=2,b=2.5,初始值[x0,y0]设置为小的随机数值,迭代5000~20000次,绘制对应的图形(x为横轴,y为纵轴,每个点对(x,y)用一个红色点来表示),观察绘制得到的图像。 5.1 流程控制 例子: (exam4_1.m)(演示) x0=rand(1); y0=rand(1); xs=x0; ys=y0; a=2; b=2.9; for i=1:10000 xs(i+1)=a*ys(i)*sin(xs(i)); ys(i+1)=abs(xs(i))-b; end plot(xs,ys,r.); return; 5.1 流程控制 上述的例子就是一个典型的循环控制的例子。 循环控制对应的语句包括了: 1)for

文档评论(0)

叮当文档 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档