MATLAB 的函数句柄

  MATLAB 的函数句柄:

1、何为函数句柄?

  函数句柄也是MATLAB中的一种常见的数据类型,

  它的地位类似于其它计算机语言里的函数对象(Javascript,Python),函数指针(C++),或者函数引用(Perl)。

  它的作用是将一个函数封装成一个变量,使其能够像其它变量一样在程序的不同部分传递。。引入函数句柄可使函数调用变得更加灵活方便,极大地提高了函数调用的速度和效率。MATLAB中函数句柄的使用使得函数也可以成为输入变量,并且能很方便地调用,提高函数的可用性和独立性。

2、函数句柄的创建:

方式①:直接加@

    语法:@函数名fun1 = @sin;

方式②:str2func函数

    语法:str2fun(‘函数名‘)

    fun2 = str2func(‘cos‘);

方式③:str2func函数

    语法:@(参数列表)单行表达式
    fun3 = @(x, y)x.^2 + y.^2;

3、函数句柄的调用:

假定一个函数的调用格式为:[y1,y2,...,yn] = FunctionName(x1,x2,...,xm)

该函数通过以下方式构建函数句柄:Hfunction = @FunctionName

则通过函数句柄实现函数运算的调用格式是:直接调用 Hfunction (x1,x2,...,xm) 或者 [y1,y2,...,yn]=feval (Hfunction,x1,x2,...,xm)

例如:

原文地址:https://www.cnblogs.com/shenxiaolin/p/9257608.html

时间: 2024-07-29 19:00:59

MATLAB 的函数句柄的相关文章

Matlab中函数句柄@的作用及介绍

问:[email protected](x)acos(x)表示什么意思?其中@代表什么?答:表示f为函数句柄,@是定义句柄的运算符.[email protected](x)acos(x) 相当于建立了一个函数文件:% f.mfunction  y=f(x)y=acos(x); 若有下列语句:[email protected](x)1/2.*(x==-1/2)+1.*(x>-1/28&x<1/2)+1.2.*(x==-1/2); 则相当于建立了一个函数文件: % xsqual.m fun

MATLAB 函数句柄Function handle的用法(Af = @(x) A*x;)

函数句柄的作用是可以把函数句柄直接设置为参数然后执行 函数句柄(Function handle)是MATLAB的一种数据类型.引入函数句柄是为了使feval及借助于它的泛函指令工作更可靠:使“函数调用”像“变量调用”一样方便灵活:提高函数调用速度,特别在反复调用情况下更显效率:提高软件重用性,扩大子函数和私用函数的可调用范围:迅速获得同名重载函数的位置.类型信息. MATLAB中函数句柄的使用使得函数也可以成为输入变量,并且能很方便的调用,提高函数的可用性和独立性. 例如: 新建M文件f1.m

matlab中关于函数句柄、feval函数以及inline函数的解析 (转)

http://blog.sina.com.cn/s/blog_7bff755b010180l3.html MATLAB函数句柄 函数句柄(Function handle)是MATLAB的一种数据类型. 包含了函数的路径.函数名.类型以及可能存在的重载方法: 引入函数句柄是为了使feval及借助于它的泛函指令工作更可靠:使“函数调用”像“变量调用”一样方便灵活:提高函数调用速度,特别在反复调用情况下更显效率:提高软件重用性,扩大子函数和私用函数的可调用范围:迅速获得同名重载函数的位置.类型信息.

Matlab基础学习--------函数句柄

函数句柄是Matlab的一种常见数据类型. 函数句柄创建使用 @ 或者 str2func()来生成函数句柄. >> %创建一个cos()函数句柄 >> %方法1:[email protected] >> [email protected] hcos = @cos >> %方法2:fh = str2func('cos') >> fh = str2func('cos') fh = @cos >> functions(hcos) %使用fu

matlab中函数的句柄是什么意思?有什么作用?

比定义f(x)=x^2写[email protected](x)(x.^2)其@(x)(x.^2)匿名函数第括号面自变量第二括号面表达式@函数指针[email protected](x)(x.^2)表示匿名函数@(x)(x.^2)赋值给f于f表示该函数于f(2)=2.^2=4:f(1:3)=[1:3].^2=[1 4 9]等等 定义匿名函数调用别匿名函数比[email protected](x,y)(x.^2+y.^2)定义函数x^2+y^2[email protected](t)(f1(t,2

Matlab中函数定义方法

Matlab自定义函数的六种方法 n1.函数文件+调用函数(命令)文件:需单独定义一个自定义函数的M文件: n2.函数文件+子函数:定义一个具有多个自定义函数的M文件: n3.Inline:无需M文件,直接定义: n4.匿名函数: n5.Syms+subs:无需M文件,直接定义: n6.字符串+subs:无需M文件,直接定义. ------------ 1.函数文件+调用函数文件:定义多个M文件 % 调用函数文件:myfile.m clear clc for t=1:10 y=mylfg(t);

matlab set函数

1.MATLAB给每种对象的每一个属性规定了一个名字,称为属性名,而属性名的取值成为属性值.例如,LineStyle是曲线对象的一个属性名,它的值决定着线型,取值可以是'-' .':'.'-.'.'--'或'none'.2.属性的操作    set函数的调用格式为:    set(句柄,属性名1,属性值1,属性名2,属性值2,…) 例子: clearx=0:0.2:12;y1=bessel(1,x);y2=bessel(2,x);y3=bessel(3,x);h=plot(x,y1,x,y2,x

Matlab绘图函数一览

要查看Matlab所有绘图函数,请从Matlab主界面菜单查看"绘图目录",或从Matlab帮助文档查看"Types of MATLAB Plots"(在线版本).本文的图和英文解释摘自Matlab帮助文档. 类别 Function 图 维度 描述 曲线 plot 2 绘制曲线,相邻点之间被插值 fplot     输入函数或函数句柄.自变量取值区间,绘制曲线 plotyy 2 双纵坐标图,两个纵坐标的数量级不同 plot3 3 绘制3D曲线 loglog 2 X,

matlab reshape函数

语法 (1)B = reshape(A,m,n) 用法: B=reshape(A,m,n) 返回m*n矩阵B,它的元素是获得A的行宽度.如果A没有m*n元素,得到一个错误结果. 例子: <span style="font-size:18px;">>> A=rand(1,10)</span> 结果: <span style="font-size:18px;">A = Columns 1 through 8 0.1622