这个发烧
函数允许您从包含函数名称的字符串中调用函数。这在编写需要调用用户提供的函数的函数时非常有用。这个发烧
函数将要调用的函数的名称作为其第一个参数,剩余的参数将提供给该函数。
以下示例是一个简单的函数,使用发烧
它使用牛顿方法找到一个变量的用户提供函数的根。
函数结果=newtrout(fname,x)#用法:newtroot(fname、x)##fname:命名函数f(x)的字符串。#x:初始猜测delta=tol=sqrt(eps);最大值=200;fx=feval(fname,x);对于i=1:maxit if(abs(fx)<tol)结果=x;returnelse fx_new=feval(fname,x+delta);deriv=(fx_new-fx)/delta;x=x-fx/deriv;fx=fx_new;endif endfor result=x;结束函数
请注意,这只是调用用户提供的函数的一个示例,不应过于重视。除了使用更健壮的算法外,任何严肃的代码都会检查所有参数的数量和类型,确保提供的函数真的是函数,等等。详见数字对象的判断函数,有关数字对象的判断函数列表,详见变量的状态,用于的描述存在
作用
retval =
feval (name, …)
¶评估名为的函数name.
第一个参数之后的任何参数都作为输入传递给命名函数。例如
feval(“acos”,-1)⇒ 3.1416
调用函数acos
带有参数-1’.
函数发烧
也可以与任何类型的函数句柄一起使用(详见函数句柄). 从历史上看,发烧
是在字符串中调用用户提供的函数的唯一方法,但从于函数句柄提供了更干净的语法,因此现在更倾向于使用它们。例如
f=@exp;发烧(f1.⇒ 2.7183f1.⇒ 2.7183
是调用所引用函数的等效方法f.如果事先无法预测f是函数句柄、字符串中的函数名或内联函数,则发烧
可以使用。
类似的函数跑
存在,用于调用用户脚本文件,这些文件不一定在用户路径上
版权所有 © 2024 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号