« 上一篇: 自我实现 --转自白宁著的《你也能成功》 下一篇: How do I determine, in a callback, which mouse button was pressed to generate the callback? »
山城棒棒儿军 @ 2004-08-09 22:52

MATLAB提供了几种不同的函数可以在程序中应用:

A. 匿名函数 :是MATLAB函数的一种简单形式,不要求有m文
件。它只包含一个MATLAB表达式、任意多个输入和输出。你可以在
MATLAB命令窗或者是M函数文件或者是脚本文件中定义它。语法:f =
@(arglist)expression。例如: sqr=@(x)x.^2; 调用格式为 a=sqr(5);
(与inline结合讲解)

B. 主函数与子函数:所有非匿名函数都需要在m文件中定义。
每个M文件都要求有一个主函数,它最先出现在该m文件中。主函数的
范围比子函数要广。也就是说,主函数可以在M文件外部调用(在命令
窗口或者是其他的M文件中),而子函数则不行。子函数只在主函数和
该M文件的其他子函数中可见。

C. 私有函数:私有函数是主M文件函数的一种。它唯一的特征
是它只能够在一个特定的限定函数群中可见。如果你想约束函数的访
问,或者当你选择不让外面看到你执行的是哪个函数的时候,这就很有用了。
私有函数驻留(放在)以专有名称 private命名的子目录下。他们只是对
其父目录中的函数是可见的。例如:…。因为私有函数是对外部(父目
录外)不可见的,因此他们可以采用与其他目录下函数相同的名字。这
在当你想创建自己特定的函数的新版本而想在另外目录保存原来版本的
函数的时候很有用。因为MATLAB先查询私有函数,再寻找标准M函数。

D. 嵌套函数:你可以在任意一个MATLAB M函数体内部定义函
数。它们称之为外部函数的嵌套函数。这要注意,matlab以前的版本是
不支持在一个函数内部再定义其他函数的:
    function x = nestFun(p1,p2)
     x1=nestFunIn(p2);
       function y=nestFunIn(p3)
          y=2*p3;
       end
   x=x1+p1;
  end

其中A与D是以前的版本所不具备的功能,不过
我觉得D不值得提倡。



评论 / 个人网页 / 扔小纸条
* 昵称

已经注册过? 请登录

新用户请先注册 以便能显示头像及追踪评论回复

Email
网址
* 评论
表情
 


 

分类小组论坛
杂谈 , 娱乐、八卦 , 文学、艺术 , 体育 , 旅游、同城 , 象牙塔 , 情感 , 时尚、生活 , 星座 , 科技

请注意遵守中华人民共和国法律法规, 如威胁到本站生存, 将依法向有关部门报告, 同时本站的相关记录可能成为对您不利的证据.

相关法律法规
全国人大常委会关于维护互联网安全的决定
中华人民共和国计算机信息系统安全保护条例
中华人民共和国计算机信息网络国际联网管理暂行规定
计算机信息网络国际联网安全保护管理办法
计算机信息系统国际联网保密管理规定