2011-01-27 67 views
0

我有一个问题,理解这个代码片段功能处理在MATLAB

output=lsqnonlin(@(argn) fun(arg1,arg2,argn),X0); 

我的想法是,将lsqnonlin递归调用argn->有趣的功能,但我不知道。 是不是?

回答

2

不可能说什么lsqnonlin将没有函数的代码。然而,在你的问题中,在函数调用中没有内在的递归。

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

@(argn) fun(arg1,arg2,argn) 

这是由函数使用一个参数的函数,argn和两个参数(预先设定的参数),arg1arg2lsqnonlin使用您传递它的函数句柄来计算特定点或矢量点中的函数值。

你可以阅读更多有关匿名函数句柄在这里:http://www.mathworks.com/help/techdoc/matlab_prog/f4-70115.html#f4-70133

+1

供您参考:[lsqnonlin(http://www.mathworks.com/help/toolbox/optim/ug/lsqnonlin.html) – Jonas 2011-01-27 16:41:11