MATLAB匿名函数
来源:互联网 发布:飞鹰网络电视直播软件 编辑:程序博客网 时间:2024/05/20 15:42
匿名函数的基本定义
fhandle=@(arglist)expr
其中,expr是具体的函数表达式,arglist是指定的函数自变量。具体请见下面示例
f=@(x)x.^2;>> fx=f(1:10)fx = 1 4 9 16 25 36 49 64 81 100>> g=@(x,y)x.^2+y.^2;>> gxy=g(1:10,2:11)gxy = 5 13 25 41 61 85 113 145 181 221
匿名函数的种类
1. 单变量匿名函数
单变量匿名函数是最简单的匿名函数,只含有一个自变量
f=@(x)x.^2
就是单变量匿名函数,除此以外,含有参数,参数值已知的单个自变量的匿名函数也是单匿名函数,譬如
>> f(1:5)ans = 30 40 50 60 70
2. 多变量匿名函数
多变量函数匿名含有两个或两个以上的自变量,如
g=@(x,y)x.^2+y.^2;
同单变量匿名函数一样,多变量函数也可以有已知的参数值。譬如
a=1;b=2;g=@(x,y)a*x+y.^b;g(1:5,1:5)ans = 2 6 12 20 30
3. 单重匿名函数
到目前为止,上面列的匿名函数,无论是单变量匿名函数还是多变量匿名函数,都属于单重匿名函数。单重匿名函数的特点是:只有一个“@”符号引导,“@”符号只会就是具体的函数表达数。自变量输入单重匿名函数后,得到的是具体的数值。除了单重匿名函数以外,还有二重、乃至多重匿名函数。这些多重匿名函数在参数传递方面非常方便。
4. 多重匿名函数
下面以二重函数为例来介绍多重匿名函数。
f=@(a,b)@(x)a*x+b;
其中“a,b”是外层变量,“x”是内层变量。可以这样理解这个表达式:每个“@”符号后面的括号的变量的作用域一直到表达式的结尾。这样,“a,b”的作用域就是“@(x)a*x+b”,“x”的作用域就是“a*x+b”。因此,对于给定的“a,b”,“gab=f(a,b)”是一个单层以x为变量的单变量匿名函数。
可以利用functions函数观察建立的匿名函数信息,以下
f=@(a,b)@(x)a*x+bf = 包含以下值的 function_handle: @(a,b)@(x)a*x+b >> f23=f(2,3)f23 = 包含以下值的 function_handle: @(x)a*x+b >> f23info=functions(f23)f23info = 包含以下字段的 struct: function: '@(x)a*x+b' type: 'anonymous' file: 'D:\工作文件夹\匿名函数\anonymous3.m' workspace: {[1×1 struct]} within_file_path: 'anonymous3'>> f23info.workspace{1}ans = 包含以下字段的 struct: a: 2 b: 3
两重以上的匿名函数可以参考二重匿名函数类推,譬如:
>> f=@(a)@(b,c)@(x)x^a+b*cf = 包含以下值的 function_handle: @(a)@(b,c)@(x)x^a+b*c
两重以上的匿名函数的各变量的作用域可以参考二重匿名函数。
阅读全文
0 0
- 匿名函数[matlab]
- MATLAB匿名函数
- matlab匿名函数
- matlab 匿名函数
- Matlab匿名函数使用规则
- Matlab 匿名函数嵌套实现
- 10.3Matlab 匿名函数、子函数
- 实现MATLAB匿名函数重载
- Matlab借助匿名函数求隐函数
- 【转载】MATLAB函数句柄和匿名函数
- Matlab中的匿名函数的使用
- Matlab中的匿名函数的使用
- Matlab中的匿名函数的使用
- MATLAB匿名函数的应用1
- MATLAB匿名函数的应用2
- MATLAB匿名函数的应用3
- MATLAB匿名函数的应用4
- MATLAB匿名函数的应用5
- struct和typedef struct的用法以及在C/C++中的区别
- hdu 1142A Walk Through the Forest
- 浅析电商项目中的安全问题
- 读书笔记20170919
- 用Shell判断字符串包含关系的方法小结
- MATLAB匿名函数
- zxing实现二维码生成
- 了解汇编语言之寄存器
- CSS 各种选择器
- 内容提供者ContentProvider和内容解析者ContentResolver
- 剑指Offer--17.树的子结构
- 大数据预科班13
- 状态机
- Jq实现广告弹出与隐藏(Jq概述,Jq选择器)