matlab中的句柄等价于C语言中的指针。 句柄分很多种,函数句柄、图形句柄等等。 1.图形句柄 图形句柄就特指这个图形,例如: h=plot(x,y) 那么h就相当于这个图形的句柄,设置该图形时,只需要set(h,....)即可。 2.函数句柄 matlab中函数调用分为直接调用和间接调用。 直接调用的问题如下:子函数只能被与其M文件同名的主函数或在M文件中的其它函数所调用,同时在一个文件夹中只能有一个主函数。 函数句柄实际上是提供了一种间接调用函数的方法。创建函数句柄需要使用到操作符@,对MATLAB库函数中提供的各种M文件中的函数和使用者自主编写的程序中的内部函数,也都可以创建函数句柄,从而可以通过函数句柄来实现对这些函数的间接调用。 创建函数句柄的一般句法格式为 Function_Handle=@Function_Filename; 比如定义f(x)=x^2,可以写为 f=@(x)(x.^2) 其中@(x)(x.^2)就是匿名函数,第一个括号里面是自变量,第二个括号里面是表达式,@是函数指针 f=@(x)(x.^2)表示将匿名函数@(x)(x.^2)赋值给f,于是f就表示该函数。 于是f(2)=2.^2=4;f(1:3)=[1:3].^2=[1 4 9]等等 定义匿名函数时也可以调用别的匿名函数,比如f1=@(x,y)(x.^2+y.^2) 定义了函数x^2+y^2 f2=@(t)(f1(t,2)) 定义了函数t^2+4 f3=@(x)(f1(x(1),x(2))) 定义了函数x(1)^2+x(2)^2 使用匿名函数时一定要注意函数本身的参数形式,如 f1(2,3) 表示2^2+3^2 f2(3)=3 表示3^2+4 f3([1,2]) 表示1^2+2^2 说白了就是函数指针