登录论坛

查看完整版本 : Matlab中的函数句柄


poster
2019-12-14, 20:13
我在理解此代码段时遇到问题

output=lsqnonlin(@(argn) fun(arg1,arg2,argn),X0); 我的想法是lsqnonlin将递归调用argn-> fun函数,但是我不确定。这样对吗?



回答:

如果没有这些函数的代码, lsqnonlin会做什么是不可能的。但是,问题中的函数调用没有内在的递归关系。

lsqnonlin的第一个参数是函数句柄,在您的问题的函数调用中,您传递了一个匿名函数句柄:

@(argn) fun(arg1,arg2,argn) 该函数具有一个要由函数argn使用的参数,以及两个参数arg1和arg2 (是预设参数)。 lsqnonlin使用传递的函数句柄来计算特定点或点向量中的函数值。

您可以在此处阅读有关匿名函数句柄的更多信息: http (http://www.mathworks.com/help/techdoc/matlab_prog/f4-70115.html#f4-70133) : //www.mathworks.com/help/techdoc/matlab_prog/f4-70115.html#f4-70133 (http://www.mathworks.com/help/techdoc/matlab_prog/f4-70115.html#f4-70133)



更多&回答... (https://stackoverflow.com/questions/4818656)