查看单个帖子
旧 2019-12-14, 20:13   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,008
声望力: 66
poster 正向着好的方向发展
帖子 Matlab中的函数句柄

我在理解此代码段时遇到问题

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



回答:

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

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

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

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



更多&回答...
poster 当前离线   回复时引用此帖