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事件,這樣用確實感覺思路上很順??蓞⒖疾┛蚳ttp://blog.sina.com.cn/s/blog_6163bdeb0100n8r7.html
還有一個用法,也是嵌套定義的好處,就是修改了嵌套函數的代碼,不用重新運行主程序,原來的程序會自動使用修改過的程序。比如還是figure鼠標響應,將鼠標按下、抬起響應函數寫成嵌套函數,運行后,鼠標按下、抬起會運行相應的響應函數,如果修改了按下、抬起的響應函數代碼,鼠標操作馬上按新修改的代碼執行,蠻方便。
Private Functions --
私有函數
在另一篇博客中有介紹,是一種不錯的項目管理的技巧。
總結
以上是生活随笔為你收集整理的matlab中response函数,matlab函数的种类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 读取mysql大量数据处理
- 下一篇: mysql的源码目录_Mysql DBA