函数句柄是指向另一个函数的指针,从语法定义
@函数名称
例如
f=@sin;
创建一个名为的函数句柄f
指的是函数罪
.
函数句柄用于间接调用其他函数,或将函数作为参数传递给另一个函数,如quad
或数值解
例如
f=@sin;quad(f,0,pi)⇒ 2.
您可以使用发烧
要使用函数句柄调用函数,请在后面写上函数句柄的名称和参数列表。如果没有参数,则必须使用空的参数列表()’. 例如
f=@sin;feval(f,pi/4)⇒ 0.70711f(π/4)⇒ 0.70711
s =
functions (fcn_handle)
¶返回一个包含有关函数句柄信息的结构体fcn_handle.
结构体s始终包含以下三个字段:
函数名称。对于匿名函数(无名称),这将是实际的函数定义。
函数的类型。
该函数是匿名的。
该函数是私有的。
该函数重载现有函数。
该函数是一个内置函数或m-file函数。
该函数是m文件中的一个子函数。
函数是嵌套的。
将被调用以执行该函数的m文件。对于匿名函数和内置函数,此字段为空。
此外,某些函数类型可能会在其他字段中返回更多信息。
警告 函数
仅用于调试目的。它的行为可能会在未来发生变化,程序不应该依赖于任何特定的输出格式。
hfcn =
str2func (str)
¶返回从字符串构造的函数句柄str.
输入可以是函数的名称,例如罪
或定义函数的字符串,例如@(x)sin(x+pi)
.
编程注意事项:在大多数情况下,最好使用匿名函数语法,并让Octave解析器创建函数句柄,而不是使用str2func
例如
hfcn=@sin;hfcn=@(x)sin(x+pi);
vars =
symvar (str)
¶识别字符串中的符号变量名str.
常见常量名称,如我
, j
, 圆周率
, Inf
和Octave函数,如罪
或plot
被忽略。
所标识的任何名称都将在字符串的元胞数组中返回。如果未找到变量,则数组为空。
用例
symvar(“x^2+y^2==4”)⇒ {[1,1]=x[2,1]=y}
版权所有 © 2024 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号