20

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

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

那么为什么feval需要呢?

val = feval(f, 1.0);

什么时候有用?

4

3 回答 3

18

对于feval,第一个参数可以是带引号的字符串,比函数句柄更灵活。你可以做一些事情,比如有一个基本名称后跟一个索引的函数,如fn1, fn2, fn3,然后使用feval(['fn', num2str(k)], x, y, z);.

于 2013-05-22T20:51:44.230 回答
14

在第 14 版 (MATLAB 7) 之前,feval 是评估函数句柄的方法......在函数由其名称指定时评估函数。

资料来源:心理模型feval()

于 2013-05-22T20:50:57.937 回答
0

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

这是一个愚蠢的例子:在文本文件中,在每个数字之后,表示可以作为数学函数评估的不同单词,例如,均值,最小值,最大值,平方,并且任务是计算每个点之后的结果,

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

并且您想编写一个程序来遍历此文本并计算最终结果...

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

pfun=@(f,x) plot(f(x))
于 2013-05-22T20:54:38.017 回答