为什么需要Matlab功能“feval”?

时间:2013-05-22 20:40:51

标签: matlab function

函数句柄可用于调用函数,例如

f = @sin;
val = f(1.0);

那为什么还需要“feval”?

val = feval(f, 1.0);

什么时候有用?

3 个答案:

答案 0 :(得分:15)

对于feval,第一个参数可以是带引号的字符串,比函数句柄更灵活。您可以执行诸如使用基本名称后跟索引的函数,如fn1fn2fn3,然后使用feval(['fn', num2str(k)], x, y, z);动态调用这些函数。

答案 1 :(得分:13)

在第14版(MATLAB 7)之前,feval是方式来评估函数句柄... 来评估函数是否由它们指定名称

来源:Mental model for feval()

答案 2 :(得分:0)

不一定总是知道应该使用什么功能;有很多例子

这是一个愚蠢的例子:让,在每个数字之后的文本文件中,可以将不同的单词评估为数学函数,例如,mean,min,max,square,并且任务在计算结果之后各自喜欢,

2,square,2,power,4,log,10 ...

你想编写一个程序来完成这个文本并计算最终结果......

另一个例子是,例如,我想用用户输入函数句柄f定义一个绘图函数,所以它必须以一种灵活的方式......

pfun=@(f,x) plot(f(x))