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 --

私有函数

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/573316.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面向对象的十大原则

面向对象设计原则是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton、Decorator、Observer这样的设计模式,而不重视面向对象的分析和设计。甚至还有经…

php返回支付状态,magento paypal返回支付状态

paypal帐户,帐户类型分为Personal(个人)、Premier(高级)和Business(商业),他们的差别对于开发者来 说主要是返回的信息,Personal的不能使用IPN和PDT等商家工具,即不能获取交易信息,但是Personal帐户收款无需手续 费&am…

上下文管理、redis发布订阅、RabbitMQ发布订阅、SQLAlchemy

一、上下文管理 import contextlib contextlib.contextmanager def work_state(state_list,worker_thread):state_list.append(worker_thread)try:yieldfinally:state_list.remove(worker_thread) free_list[] current_thread"alex" with work_state(free_list,curr…

php symbol table,gdb方式遍历EG(symbol_table) 哈希表的key_PHP教程

Sara Golemon写过一篇文章,里面提到:“是否存在特别的地方可以找到GLOBALS数组?”答案是“存在”,就是EG(symbol_table)-Executor Globals结构,她也给出了找的具体实例,如下PHP_FUNCTION(confir…

常用快捷键归纳

CtrlX     剪贴 CtrlC    复制 CtrlV    粘贴 CtrlD    删除对应行 CtrlA    全选 CtrlZ    撤销 Alt↑    两行代码互换 CtrlAltX J 运行代码 CtrlshiftO 添加缺少的包, Ctrlshift↓  向下复制本行代码转载于:https://www.cnblogs.c…

php edm 系统,edm.php

// ----------------------------------------------------------------------// | 科创众达// ----------------------------------------------------------------------// | Copyright (c) 2011 http://ctrlcoo.com All rights reserved.// -------------------------------…

jQuery选择id属性带有.点符号元素的方法

如果jquery要选择的元素id中带有点符号&#xff0c;在选择时需要在点前面加上两个反斜杠&#xff0c;如&#xff1a;$("#address\\.street").text("Enter this field");<div id"address.street"> http://www.jb51.net </div> 转载于…

单账户登录踢人 php,踢人下线

前言 在java的世界里&#xff0c;有很多优秀的权限认证框架&#xff0c;如Apache Shiro、Spring Security 等等。这些框架背景强大&#xff0c;历史悠久&#xff0c;其生态也比较齐全。 但同时这些框架也并非十分完美&#xff0c;在前后台分离已成标配的互联网时代&#xff0c;…

python 基础,包括列表,元组,字典,字符串,set集合,while循环,for循环,运算符。...

1.continue 的作用&#xff1a;跳出一次循环&#xff0c;进行下一次循环2.break 跳出不再循环3.常量 &#xff08;全是大写&#xff09;NAME cjk 一般改了会出错4.python的第三方库&#xff0c;先安装再导入。装模块&#xff1a;pip 命令例如&#xff1a;pip install pandas5…

10054 java,为什么Socket.Receive在远程主机断开连接时抛出SocketException(10054)?

我以前用C编写套接字程序&#xff0c;无法理解为什么会发生这种情况 .我的服务器在接收调用时阻塞&#xff0c;当它返回0时&#xff0c;我打破了while循环并关闭了线程 .public class MyServer {public MyServer() {}public void Init() {ThreadPool.QueueUserWorkItem(StartLi…

SQL 截取字符

select SUBSTRING(123,abcdefg,charindex(,,123,abcdefg,0)1,LEN(123,abcdefg)-charindex(,,123,abcdefg,0)) select SUBSTRING(123,abcdefg,0,charindex(,,123,abcdefg,0))转载于:https://www.cnblogs.com/kunEssay/p/5726672.html

hdoj 1004 学习思路

hdoj 1004题目大概讲的是&#xff0c;将输入的字符串根据输入次数多少&#xff0c;输出出现次数最多的字符串。 题目逻辑很简单&#xff0c;就是需要选择相应的数据结构&#xff0c;看了别人提交的discuss&#xff0c;明显发现可以使用多种数据结构解这道题。 其实我本是打算用…

oracle 关闭数据库实列,Oracle 11g 数据库启动和关闭

Oracles11数据库的启动状态Oracle11g在启动的时候必须经过三个状态&#xff1a;NOMOUNT,MOUNT,OPEN。NOMOUNT: 此状态下只打开数据库实例&#xff0c;读取参数文件。MOUNT: 根据参数文件信息&#xff0c;打开控制文件。读取控制文件中的各种信息&#xff0c;如数据文件位置&…

JavaScript进阶(下)

指定分隔符连接数组元素join() join()方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的。 语法&#xff1a; arrayObject.join(分隔符) 参数说明: 注意&#xff1a;返回一个字符串&#xff0c;该字符串把数组中的各个元素串起来&#xff0c;用<…

oracle报无效月份 注册表,在oracle中插入时间时出现“无效的月份”解决方法

这个问题是我曾经在使用中遇到的&#xff0c;在网上搜了一下&#xff0c;发现很多人都遇到过&#xff0c;并且也说明了很多解决方法。引起这个问题是有很多种可能的&#xff0c;现在我将在网上收集的资料结合我自己的解决经验总结一下&#xff0c;希望对大家有帮助。我用的是or…

oracle 用户禁止登录,[转] oracle限制用户在某个时间段内禁止登录数据库

原文: http://blog.itpub.net/29371470/viewspace-1081319/ [oraclerhel ~]$ sqlplus / as sysdba SQL*Plus: Release 10.2.0.5.0 - Production on Sat Feb 8 12:51:15 2014 Copyright (c) 1982, 2010, Oracle. All Rights Reserved. Connected to: Oracle Database 10g Enter…

ongl 表达式

struts.xml简单配置 <!-- &#xff08;默认false&#xff09;设置ognl表达式是否支持静态方法 --><constant name"struts.ognl.allowStaticMethodAccess" value"true"></constant><package name"ognl" namespace"/ogn…

oracle dd if=/dev/zero of=/dev,【转】dd if=/dev/zero of=的含义是什么?Linux 下的dd命令使用详解...

一、dd命令的解释dd&#xff1a;用指定大小的块拷贝一个文件&#xff0c;并在拷贝的同时进行指定的转换。注意&#xff1a;指定数字的地方若以下列字符结尾&#xff0c;则乘以相应的数字&#xff1a;b512&#xff1b;c1&#xff1b;k1024&#xff1b;w2参数注释&#xff1a;1. …

Python开发-- Lesson 2--Python数据类型(2016/07/30)

1、文件操作 python中对文件、文件夹&#xff08;文件操作函数&#xff09;的操作需要涉及到os模块和shutil模块。 得到当前工作目录&#xff0c;即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目录名:os.listdir() 函数用来删除一个文件:os.remove(…

oracle什么是重复组,规范化:“重复组”是什么意思?

扬帆大鱼英语的价值一次又一次地重复。这是重复组吗&#xff1f;不。在SUBJECT_MODULE中英语的多次出现不是重复组&#xff0c;甚至不是人们误认为重复组的两件事中的任何一个。它们也不是冗余或缺乏规范化的证据。这样的多个外观可能与冗余或规范化有关&#xff0c;但是在没有…