2011-01-27 83 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