matlab中response函数,matlab函数的种类

突然发现matlab的函数还是很有讲究的,以前只是用,很少注意这个问题,现在看到了稍微总结一下吧。

在matlab帮助中搜索Types of Functions,可以看到matlab常用的函数种类:

Anonymous Functions --

匿名函数

Primary Functions --

主函数

Nested Functions --

嵌套函数

Subfunctions --

子函数

Private Functions --

私有函数

Anonymous Functions --

匿名函数

提供了一种快速定义简单函数的方法,可以在matlab命令框、任何函数、脚本中定义。定义方式如下

fhandle = @(arglist) expr

sqr = @(x) x.^2;

这种函数比较简单,不多说了,有意思的一种用法是可以在函数定义中使用变量,如下

a = 1.3; b = .2; c = 30;

parabola = @(x) a*x.^2 + b*x + c;

fplot(parabola, [-25 25])

a = -3.9; b = 52; c = 0;

fplot(parabola, [-25 25])

以后可以尝试用用。

Primary Functions -- 主函数

Subfunctions -- 子函数

就是在一个文件中第一个被定义的函数,其它的都称为子函数。

主函数名一般和文件名一致,调用文件名即是调用主函数,而其它子函数不对外可见,只能在文件内部被主函数和其它子函数调用。

Nested Functions --

嵌套函数

就是在其他函数内部定义的函数,注意它不能在程序控制语句中定义,即不能在if判断语句、while循环语句中定义。

这种函数有点讲究,但感觉用的不多,要定义直接定义子函数了。不过有三个地方使用感觉挺方便。

一种是如果懒得传递参数给子函数,可以写成嵌套函数,因为在嵌套函数中是可见其上一层函数定义的变量,感觉如果偏向于尽快完成任务的话,可以用用,不过这不利于代码的封装和可读性。

另一种是在figure的鼠标响应中,如在buttondown函数中定义buttonup嵌套函数,因为buttonup一般是发生在buttondown之后的,嵌套定义就是发生了buttondown事件才开启buttonup事件,这样用确实感觉思路上很顺。可参考博客http://blog.sina.com.cn/s/blog_6163bdeb0100n8r7.html

还有一个用法,也是嵌套定义的好处,就是修改了嵌套函数的代码,不用重新运行主程序,原来的程序会自动使用修改过的程序。比如还是figure鼠标响应,将鼠标按下、抬起响应函数写成嵌套函数,运行后,鼠标按下、抬起会运行相应的响应函数,如果修改了按下、抬起的响应函数代码,鼠标操作马上按新修改的代码执行,蛮方便。

Private Functions --

私有函数

在另一篇博客中有介绍,是一种不错的项目管理的技巧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值