MatLab编中文版第五章.docVIP

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

目录 第五章 自定义函数 1 5.1 MATLAB函数简介 1 5.2 在MATLAB中传递变量:按值传递机制 6 例5.3 7 5.3 选择性参数 14 测试5.1 16 5.4 用全局内存分享数据 17 例5.4 18 5.5 在函数调用两次之间本地数据的存储 22 例5.5 运行平均数 22 5.6 函数的函数(function functions), 26 例5.6 27 5.7 子函数和私有函数 29 5.8 总结 29 5.9 练习 30 5.1 30 5.2 30 5.3 31 5.4 31 5.5 31 5.6 31 5.7 31 5.8 31 5.9 31 5.10 31 5.11 31 5.12 32 5.13 32 5.14 32 5.15 33 5.16 33 5.17 33 5.18 34 5.19 35 5.20 35 5.21 35 5.22 35 5.23 36 5.24 36 5.25 37 5.26 37 第五章 自定义函数 在第三章中,我们强调了好的编程习惯的重要性。我们进行开发的基本手段是自上而下的编程方法。在自上而下的编程方法中,它开始于对所要解决问题的精确陈述和定义输入量和输出量。下一步,我们在大面上进行算法的描述,然后把算法分解成一个一个的子问题。再然后,程序员把这一个个子问题进行再一次的分解,直到分解成简单而且能够清晰理解的伪代码。最后把伪代码转化为MATLAB代码。 尽管我们在前面的例子中,按照上面的步骤进行了编程。但是产生的结果在某种程度上还是受限制的。因为我们必须把每一个子问题产生的MATLAB代码嵌入到一个单独的大程序中。在嵌入之前我们无法对每一次子问题的代码进行独立地验证和测试。 幸运的是,MATLAB有一个专门的机制,在建立最终的程序之前用于独立地开发与调试每一个子程序。每一个子程序都可以独立函数的形式进行编程,在这个程序中,每一个函数都能独立地检测与调试,而不受其他子程序的影响。良好的函数可以大大提高编程的效率。它的好处如下: 1.子程序的独立检测 每一个子程序都可以当作一个独立的单元来编写。在把子程序联合成一个的大程序之前,我们必须检测每一个子程序以保证它运转的正确性。这一步就是我们熟知的单元检测。在最后的程序建立之前,它排除了大量的问题。 2.代码的可复用性 在许多的情况下,一个基本的子程序可应用在程序的许多地方。例如,在一个程序的许多地方,要求对一系列按由低到高的顺序进行排序。你可以编一个函数进行排序,然后当再次需要排序时可以调用这个函数。可重用性代码有两大好处:它大大提高了整体编程效率,它更易于调试,因为上面的排序函数只需要调试一次。 3.远离意外副作用 函数通过输入参数列表(input argument list)从程序中读取输入值,通过输出参数列表(output argument list)给程序返回结果。程序中,只有在输入参数列表中的变量才能被函数利用。函数中,只有输出参数列表中的变量才能被程序利用。这是非常重要的,因为在一个函数中的突发性编程错误只会发生错误的函数的变量。一旦一个大程序编写并发行,它还要面临的问题就是维护。程序的维护包括修补错误,修改程序以适应新或未知的环境。作维护工作的程序员在一般情况下不会是程序的原作者。如果程序编写的不好,改动一处代码就可能对程序全局产生负面影响。这种情况的发生,可能是因为变量在其他部分被重新定义或利用。如果程序员改变这个变量,可能会导致后面的程序无法使用。 好的函数的应用可以通过数据隐藏使问题最小化。在主函数中的变量在函数中是不可见的(除了在输入变量列表中的变量),在主程序中的变量不能被函数任意修改。所以在函数中改变变量或发生错误不会在程序的其他部分发生意外的副作用。 好的编程习惯 把大的程序分解成函数,有很多的好处,例如,程序部分的独立检测,代码的可复用性,避免意想不到的错误。 5.1 MATLAB函数简介 到目前为止,我们看到的所有的M文件都是脚本文件。MATLAB语句。当一个脚本文件被执行时,和直接在命令窗口中直接键入MATLAB语句所产生的结果是一样的。脚本文件分享命令窗口中的工作区,所以所有的在脚本文件运行之前定义的变量都可以在脚本文件中运行,所有在脚本文件中创建的变量在脚本文件运行之后仍然存在工作区。一个脚本文件没有输入参数,也不返回结果。但是所有脚本文件可以通过存于工作区中的数据进行交互。 相对地,MATLAB函数是一种特殊形式的M文件,它运行在独立的工作区。它通过输入参数列表接受输入数据,它通过输出参数列表返回结果给输出参数列表。MATLAB函数的基本形式如下: function [outarg1, outarg2, ...] = fname(inarg1, inarg

文档评论(0)

nbc152 + 关注
文档贡献者

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

1亿VIP精品文档

相关文档