matlab数据类型三(函数句柄)
2015-05-19 08:57
344 查看
创建函数句柄:两种方法---使用@、使用函数str2func
1.使用@:hndl=@functionname,@表示将函数function赋值给函数句柄hndl
2.hndl=str2func('functionname')
使用方法:创建函数m文件--创建函数句柄--调用函数句柄
当函数没有输入参数时,则调用函数句柄时参数部分输入空括号:
>> h2=@rand;
>> h2()
ans =
0.8147
feval函数:调用函数句柄
feval(函数句柄,输入参数)
>> feval(hand1,1) <span style="color:#009900;">%结果与hand1(1)相同</span>
查找函数句柄对应的函数名:
>> func2str(hand1)
ans =
my_func
函数句柄可以嵌套:
函数句柄的好处:
①提高运行速度。因为matlab对函数的调用每次都是要搜索所有的路径,从set path中我们可以看到,路径是非常的多的,所以如果一个函数在你的程序中需要经常用到的话,使用函数句柄,对你的速度会有提高的。
②使用可以与变量一样方便。比如说,我再这个目录运行后,创建了本目录的一个函数句柄,当我转到其他的目录下的时候,创建的函数句柄还是可以直接调用的,而不需要把那个函数文件拷贝过来。因为你创建的function handles中,已经包含了路径,
函数句柄可以在输入函数相同,但输入参数不同时,使workspace独立:
>> fh1=count_calls(4);
>> fh2=count_calls(20);
>> fh1()
ans =
5
>> fh1()
ans =
6
>> fh2()
ans =
21
>> fh2()
ans =
22
1.使用@:hndl=@functionname,@表示将函数function赋值给函数句柄hndl
2.hndl=str2func('functionname')
使用方法:创建函数m文件--创建函数句柄--调用函数句柄
当函数没有输入参数时,则调用函数句柄时参数部分输入空括号:
>> h2=@rand;
>> h2()
ans =
0.8147
feval函数:调用函数句柄
feval(函数句柄,输入参数)
>> feval(hand1,1) <span style="color:#009900;">%结果与hand1(1)相同</span>
查找函数句柄对应的函数名:
>> func2str(hand1)
ans =
my_func
函数句柄可以嵌套:
函数句柄的好处:
①提高运行速度。因为matlab对函数的调用每次都是要搜索所有的路径,从set path中我们可以看到,路径是非常的多的,所以如果一个函数在你的程序中需要经常用到的话,使用函数句柄,对你的速度会有提高的。
②使用可以与变量一样方便。比如说,我再这个目录运行后,创建了本目录的一个函数句柄,当我转到其他的目录下的时候,创建的函数句柄还是可以直接调用的,而不需要把那个函数文件拷贝过来。因为你创建的function handles中,已经包含了路径,
函数句柄可以在输入函数相同,但输入参数不同时,使workspace独立:
>> fh1=count_calls(4);
>> fh2=count_calls(20);
>> fh1()
ans =
5
>> fh1()
ans =
6
>> fh2()
ans =
21
>> fh2()
ans =
22
相关文章推荐
- MATLAB中的函数与cell数据类型
- matlab中图像数据类型及处理函数
- Matlab----基本函数与数据类型
- matlab数据类型及相关函数
- VC Afx全局函数 数据类型 字符串转化函数
- Go语言圣经:基础数据类型、复合数据类型、函数、方法章节摘录
- 数据类型格式化函数--to_char()
- C++中判断数据类型的函数
- printf函数使用—针对不同数据类型的输出结果详解
- matlab中图像数据类型转换
- C# 控制台下的常见函数&数据类型
- Oracle数据类型,函数与存储过程
- 用函数获得一个类型下所有的数据,并用逗号隔开,显示出来
- SQL 函数----->数据类型转换函数 CAST()、CONVERT()
- Matlab编程与数据类型 -- 函数M文件的组成
- 数据类型格式化函数
- sqlite 数据类型和时间函数
- Rust的数据类型和功能函数的返回值
- iOS Foundation 框架概述文档:常量、数据类型、框架、函数、发布声明
- 从零开始 OpenCV (二) —— OpenCV 的基本数据类型和基本函数