- 含数句柄是MATLAB 6之后特有的语言结构;
- 优点:
- 方便函数之间互相调用,兼容函数加载;
- 拓宽子函数包括局部函数的适用范围;
- 减少程序设计之中的冗余;
- 提高重复执行的效率;
- 数组、结构数组、细胞型数组能够结合定义数据;
||定义函数句柄:
在提示符@后添加 -自定义函数名-
比如:func_Sure=@Sure
||函数句柄的内容:
通过 -函数function- 显示,使用 -函数faval- 调用
比如:feval(Sr,Sl)
| |
函数句柄 参数列表
| |函数名与函数句柄 字符串 转换
函数句柄名=str2func('函数名字符串') %函数名[字符串]转换>函数[句柄]
func2str(函数句柄名) %函数[句柄]转换>函数名[字符串]
||例程:
1.函数句柄的创建和显示:
>> func_Sure=@Sure
创建的函数句柄如下:
func_Sure =
@Sure
命令窗口输入:>> functions(func_Sure)
返回函数句柄:
ans =
function: 'Sure'
type: 'simple'
file: ''
||函数句柄的调用:
1.命令窗口输入:>> func_Sure=@rand
func_Sure =
@rand
2.命令窗口输入:>> functions(func_Sure)
返回句柄如下:
ans =
function: 'rand'
type: 'simple'
file: 'MATLAB built-in function'
3.命令窗口输入:>> feval(func_Sure,6)
返回句柄如下:
ans =
0.8147 0.2785 0.9572 0.7922 0.6787 0.7060
0.9058 0.5469 0.4854 0.9595 0.7577 0.0318
0.1270 0.9575 0.8003 0.6557 0.7431 0.2769
0.9134 0.9649 0.1419 0.0357 0.3922 0.0462
0.6324 0.1576 0.4218 0.8491 0.6555 0.0971
0.0975 0.9706 0.9157 0.9340 0.1712 0.8235