matlab基础与编程入门(第二版)第4章.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
matlab基础与编程入门(第二版)第4章

 通过运行local函数可以看到,所有在函数中创建的变量在函数运行结束后就不存在了,也就是说,局部变量的生存周期仅在函数活动期间。   与局部变量相对应的就是全局变量。MATLAB将全局变量保存在特殊的工作空间统一维护管理,将变量声明为全局的方法就是在使用变量前,用关键字global声明,例如声明全局变量gXY: global gXY whos Name Size Bytes Class Attributes ?  gXY 0x0 0  double global  需要强调一点,MATLAB管理维护全局变量和局部变量使用了不同的工作空间,所以使用global关键字创建全局变量的时候有以下三种情况:  (1) 若声明为全局的变量在当前的工作空间和全局工作空间都不存在,则创建一个新的变量,然后将这个变量赋值为空数组,该变量同时存在于局部工作空间和全局工作空间。  (2) 若声明为全局的变量已经存在于全局工作空间,则不会在全局工作空间创建新的变量,其数值同时赋值给局部工作空间中的变量。   (3) 若声明为全局的变量存在于局部工作空间,而全局工作空间不存在,则系统会提示一个警告信息,同时将局部的变量“挪”到全局工作空间中。 【例子4-17】 全局变量的示例 在MATLAB命令行窗体中键入下面的指令: 创建全局变量并赋值: global myx myx = 10; 变量的信息: whos Name Size Bytes Class Attributes ?  myx 1x1 8 double   global 清除变量: clear myx 查看信息: whos 当前的工作空间下没有任何变量,但是在全局工作空间下: whos global Name Size Bytes Class Attributes ?   myx 1x1 8 double   global 在当前工作空间再次创建变量: myx = 23 myx = 23 变量的信息: whos Name Size Bytes Class Attributes ?  myx 1x1 8 double 将其修改为全局变量(注意警告信息): global myx Warning: The value of local variables may have been changed to match the globals. Future versions of MATLAB will require that you declare a variable to be global before you use that variable. 看看变量的数值: myx myx = 10 清除当前的工作空间: clear whos global Name Size Bytes Class Attributes ? myx 1x1 8 double   global 清除所有的内存空间: clear all 在全局工作空间下没有任何变量了: whos global 4.4.5 函数执行规则    到这里,读者应该能够创建自己的算法函数,并且能够执行任何M语言函数了。只要在MATLAB的命令行窗口中键入函数的名称,并且提供足够的输入/输出参数就会得到正确的结果。如前文所述,M语言的函数被MATLAB的解释器解释执行,所以,在本小节中将简要讨论一下解释器解释执行程序的问题。  当用户在MATLAB命令行窗体键入一个命令或者执行M语言文件中包含的一条语句或者指令时,MATLAB解释器就负责解析用户的输入,并且给出相应的答案。就目前而言,读者能够创建变量、创建自定义的函数和脚本文件,并且能够编写子函数,在代码中调用MATLAB的函数文件以及内建函数等。那么,MATLAB解释器解析命令的优先级是怎样的呢? n??? 首先判断输入的命令是否为变量。 n???若不是内存中的变量,判断输入的命令是否为MATLAB的内建函数。 n??? 若不是内建函数,则判断输入的命令是否为子函数。 n???若在同一个路

文档评论(0)

wnqwwy20 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档