所以......我可以理解matlab函数句柄及其用途。但有时,当它变得太神秘时,我需要帮助来进一步阐述它。以默认 MATLAB文档中的这个示例为例,例如:
f = @(x)x.^3-2*x-5;
我也可以将其重写为:
function f(arg)
arg.^3 - 2*arg - 5;
end
如前所述,任何人都可以帮助破译下面的代码吗?我在默认的 matlab 函数中不需要帮助。只是对理解这里的用户定义的匿名函数有一点帮助..
applyToGivenRow = @(func, matrix) @(row) func(matrix(row, :))
applyToRows = @(func, matrix) arrayfun(applyToGivenRow(func, matrix), 1:size(matrix,1))'
% Example
myMx = [1 2 3; 4 5 6; 7 8 9];
myFunc = @sum;
applyToRows(myFunc, myMx)