matlab函数句柄
matlab函数句柄
直接调用函数:
被调用函数只能被其M文件同名的主函数或在M文件中的其他函数调用,一个文件只有一个主函数。
间接调用函数:
避免只能使用直接调用函数的情况,个人理解就是为一个函数起了一个别名。
Function Handle = @Function Filename;
-
FunctionFilename是函数所对应的M文件的名称或MATLAB内部函数的名称。
-
@是句柄创建操作符。
-
Function Handle变量保存了这一函数句柄,并在后续的运算中作为数据流进行传递。
实例
>> fun1=@sin
fun1 =
包含以下值的 function_handle:
@sin
>> fun1(0.5*pi)
ans =
1
>>
相关函数:
函数名称 | 函数功能 |
---|---|
functions(funhandle) | 返回一个结构体,存储了函数的名称、函数类型(simple或overloaded),以及函数M文件的位置 |
func2str(funhandle) | 将函数句柄转换为函数名称字符串 |
str2func(str) | 将字符串代表的函数转换为函数句柄 |
save filename.mat funhandle | 将函数句柄保存在*mat文件中 |
load filename.mat funhandle | 把*.mat文件中存储的函数句柄加载到工作区 |
isa(var, 'function handle') | 检测变量var是否是函数句柄 |
isequal(funhandlea, funhandleb) | 检测两个函数句柄是否对应于同一个函数 |