研究生课件 Matlab及其应用.ppt

  1. 1、本文档共74页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Matlab及其应用 * 3 函数注意 函数可以按少于函数M 文件中所规定的输入和输出变量进行调用,但不能用多于函数M 文件中所规定的输入和输出变量数目。如果输入和输出变量数目多于函数M 文件中function 语句一开始所规定的数目,则调用时自动返回一个错误。 当调用一个函数时,所用的输入和输出的参量的数目,在函数内是规定好的。函数工作空间变量nargin 包含输入参量个数;函数工作空间变量nargout 包含输出参量个数。事实上,这些变量常用来设置缺省输入变量,并决定用户所希望的输出变量。在M 文件函数里,变量nargout 可用来检验输出参量的个数,并按要求修正输出变量的创建。 Matlab及其应用 * 3 函数注意 函数有它们自己的专用工作空间,它与MATLAB 的工作空间分开。函数内变量与MATLAB 工作空间之间唯一的联系是函数的输入和输出变量。如果函数任一输入变量值发生变化,其变化仅在函数内出现,不影响MATLAB 工作空间的变量。函数内所创建的变量只驻留在函数的工作空间,而且只在函数执行期间临时存在,以后就消失。因此,从一个调用到下一个调用,在函数工作空间变量存储信息是不可能的。 Matlab及其应用 * 3 函数注意 当调用一个函数时,输入变量不会拷贝到函数的工作空间,但使它们的值在函数内可读。然而,改变输入变量内的任何值,那么数组就拷贝到函数工作空间。进而,按缺省,如果输出变量与输入变量相同,例如,函数x=fun(x, y, z) 中的x ,那么就将它拷贝到函数的工作空间。因此,为了节约存储和增加速度,最好是从大数组中抽取元素,然后对它们作修正,而不是使整个数组拷贝到函数的工作空间。 Matlab及其应用 * 3 函数注意 如果变量说明是全局的,函数可以与其它函数、MATLAB 工作空间和递归调用本身共享变量。为了在函数内或MATLAB 工作空间中访问全局变量,在每一个所希望的工作空间,变量必须说明是全局的。 实际编程中,无论什么时候应尽量避免使用全局变量。要是用了全局变量,建议全局变量名要长,它包含所有的大写字母,并有选择地以首次出现的M 文件的名字开头。如果遵循建议,则在全局变量之间不必要的互作用减至最小。 Matlab及其应用 * 3 函数注意 MATLAB 以搜寻脚本文件的同样方式搜寻函数M 文件。例如,输入? cow ,MATLAB 首先认为cow 是一个变量。如果它不是,那么MATLAB 认为它是一个内置函数。如果还不是,MATLAB 检查当前cow.m 的目录或文件夹。如果它不存在,MATLAB 就检查cow.m 在MATLAB 搜寻路径上的所有目录或文件夹。 从函数M 文件内可以调用脚本文件。在这种情况下,脚本文件查看函数工作空间,不查看MATLAB 工作空间。从函数M 文件内调用的脚本文件不必用调用函数编译到内存。函数每调用一次,它们就被打开和解释。因此,从函数M 文件内调用脚本文件减慢了函数的执行。 Matlab及其应用 * 3 函数注意 当MATLAB 运行时,它缓存了存储在Toolbox 子目录和Toolbox 目录内的所有子目录中所有的M 文件的名字和位置。这使MATLAB 很快地找到和执行函数M 文件。被缓存的M 文件函数当作是只读的。如果执行这些函数,以后又发生变化,MATLAB 将只执行以前编译到内存的函数,不管已改变的M 文件。而且,在MATLAB 执行后,如果M 文件被加到Toolbox 目录中,那么它们将不出现在缓存里,因此不可利用。所以,在M 文件函数的使用中,最好把它们存储在Toolbox 目录外,或许最好存储在MATLAB 目录下,直至它们被认为是完备的。当它们是完备时,就将它们移到一个只读的Toolbox 目录或文件夹的子目录内。最后,要确保MATLAB 搜索路径改变,以确认它们的存在。 Matlab及其应用 * 3 函数注意 MATLAB 函数error 在命令窗口显示一个字符串,放弃函数执行,把控制权返回给键盘。这个函数对提示函数使用不当很有用,如在以下文件片段中: if length(val)>1 error(' VAL must be a scalar. ') end 这里,如果变量val 不是一个标量,error 显示消息字符串,把控制权返回给命令窗口和键盘。 Matlab及其应用 * 脚本 echo input x=input(‘ ‘); keyboard return pause debug: matlab edit tic /toc Matlab及其应用 * 五、稀疏矩阵 sparse 转换一个矩阵为稀疏矩阵 speye sprand(n,m,d)/sparandn full spy gplot Matlab及其应用 * 如何

文档评论(0)

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

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

1亿VIP精品文档

相关文档