Matlab句柄

之前一直没怎么使用过Matlab,所以一开始直接看了代码有些晕。
而句柄有属于Matlab跟其他编程语言较为不一样的数据类型。
所以记录下

1 什么是函数句柄

函数句柄是MATLAB中的一种常见的数据类型,地位类似于其它计算机语言里的函数对象(Java script ,Python),函数指针(C++),或者函数引用(Perl)。
作用是将一个函数封装成一个变量,使其能够像其它变量一样在程序的不同部分传递。
MATLAB中函数句柄的使用使得函数也可以成为输入变量,并且能很方便地调用,提高函数的可用性和独立性。

2 函数句柄的创建

  1. 直接加@

@函数名

%直接加
TestFun2 = @cos ;   					%定义
TestFun2(pi)							%调用
  1. 单行表达式

①一元函数:f(x)=@(x) 数学中以x为未知量的函数式
②二元函数:f(x,y)=@(x,y) 数学中以x,y为未知量的函数式

%一元函数:
TestFun = @(x) sin((1/2)*pi*x) + 10;   
TestFun(1)								
%二元函数:
TestFun1 = @(h,l) h+l;					
TestFun1(5,1)							
  1. str2func函数

str2fun(‘函数名’)

TestFun3 = str2func('cos');
TestFun3(pi)

3 句柄的使用

  • 将函数句柄作为函数参数
  • 利用函数句柄进行画图
  • 利用函数句柄进行图像的滤波
  • 组合匿名函数实现更复杂的函数句柄

参考

[1] https://www.cnblogs.com/heleifz/p/matlab-function-handle.html

你可能感兴趣的:(Matlab,matlab)