突然发现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 --

私有函数

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

matlab中response函数,matlab函数的种类相关推荐

  1. matlab repmate,MATLAB中“repmat”与“cat”函数的用法

    MATLAB中"repmat"与"cat"函数的用法 1. repmat函数 >> z=repmat(5,2,3) z = 5 5 5 5 5 5 ...

  2. 浅析MATLAB中的内联函数、匿名函数和函数函数

    内联函数 内联(inline)函数是MATLAB 7以前经常使用的一种构造函数对象的方法.在命令窗口.程序或函数中创建局部函数时,通过使用inline构造函数,而不用将其储存为一个M文件,同时又可以像 ...

  3. 线性回归用matlab怎么做,matlab中如何应用regress()函数进行线性回归分析?

    matlab中如何应用regress()函数进行线性回归分析?回归分析是研究一个随机变量与一个或多个普通变量之间的相关系的统计方法.如果做回归分析,有很多软件都已经封装好了的,我们只需直接调用就可以了 ...

  4. 在matlab中xt( ),编译matlab的s函数(compiling s-functions for matlab)

    编译matlab的s函数(compiling s-functions for matlab) 我一直在尝试使用我的c ++代码在matlab中创建一个s函数块.我正在使用以下mexopts.bat文件 ...

  5. matlab中多元线性回归regress函数精确剖析(附实例代码)

    matlab中多元线性回归regress函数精确剖析(附实例代码) 目录 前言 一.何为regress? 二.regress函数中的参数 三.实例分析 总结 前言 regress函数功能十分强大,它可 ...

  6. 怎样在matlab中写技术,rect矩形函数 matlab中怎样编写矩形函数

    矩形函数的定义: 矩形函数 rect(t); 如果绝对值 |t| > 0.5 rect(t) = 0; 如果绝对值 |t| = 0.5 rect(t) = 0.5; 如果绝对值 |t| < ...

  7. matlab中pol2cart()函数

    matlab中pol2cart()函数 说明文件 pol2cart Transform polar to Cartesian coordinates. [X,Y] = pol2cart(TH,R) t ...

  8. matlab中如何处理复数,matlab中复数的处理函数

    matlab中复数的处理函数 MATLAB 中复数的处理函数要说明复数的运算,先从解以下的二次方程式的复数根谈起上式的根有实部 (-2) 及虚部 (±3),我们就这个复数的表示法来说明 MATLAB的 ...

  9. MATLAB中abs和sqrt函数的使用方法

    MATLAB中abs和sqrt函数的使用方法 1.abs函数 ##作用:数值的绝对值和复数的幅值 ##基本用法:abs(x)函数是对数组元素进行绝对值处理的函数. 函数的定义域包括复数. 对于复数x= ...

  10. matlab中ss函数_matlab状态空间模型(matlab中如何通过ss函数和tf2ss函数将微分方程转化...)...

    matlab中如何通过ss函数和tf2ss函数将微分方程转化... 例如下面的一道题. 方法一: num=[0 0 10 10]; den=[1 6 6 10]; [A,B,C,D]=tf2ss(nu ...

最新文章

  1. github登陆方案
  2. 葡萄城报表介绍:交叉报表
  3. oracle删除分区空间,Oracle 11g维护分区(三)——Dropping Partitions
  4. HBase - Filter - 过滤器的介绍以及使用
  5. JSP里的System.out.println
  6. python123可以复制粘贴吗_使用win32com和python复制和粘贴隔离
  7. CWE 4.3:强化你的数据自我保护能力
  8. Python入门--文件的读写,相对路径,绝对路径
  9. c++中模板的实现(模板类和模板函数)
  10. 一起谈.NET技术,疯狂的想法——基于.NET的软件超市平台构想与5年实现之路
  11. 航班预定系统java源代码_飞机订票系统源代码(Java)
  12. 手机屏幕驱动板1080x1920分辨率HDMI红米note3 note4 note4x屏幕Fondar自制投影 光固化
  13. 阿里code代码提交git命令总结
  14. 为什么你应该学习编程?
  15. Shell中的幽灵王者—JAVAWEB 内存马 【认知篇】
  16. 计算机底层知识之运行环境可执行文件
  17. php 百度天气接口api接口,PHP调用百度天气接口API实现查询实时天气
  18. js中的内存溢出和内存泄漏
  19. centos7中ps显示的内容_值得收藏,史上最全Linux ps命令详解
  20. OSChina 周三乱弹 ——程序员从入职到跑路

热门文章

  1. mysql取消主键_mysql如何删除主键?
  2. Java 查找链表中的元素
  3. python生活中哪些运用_【想把python运用在实际生活中?那么python查询价格方法可以帮助你】- 环球网校...
  4. for循环执行 mybatis_Mybatis中使用循环遍历
  5. A4.2021年全国数学建模竞赛A题-赛题分析与评阅要点(FAST主动反射面的形状调节)
  6. 5单个编译总会编译全部_JDBC【5】 JDBC预编译和拼接Sql对比
  7. ztree 标准得json数据格式_酷站推荐 - json-c.github.io/json-c - json-c API
  8. python语句join_详解Python中的join()函数的用法
  9. 心情再差,也还是要拿起我的 JavaScript 实战重点代码
  10. JS中for in 与 for of