[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
## Re: Function as argument of a function.

**From**: |
Michael Creel |

**Subject**: |
Re: Function as argument of a function. |

**Date**: |
Wed, 13 Oct 2004 15:50:49 +0200 |

**User-agent**: |
KMail/1.7 |

On Wednesday 13 October 2004 12:23, Fredrik Bulow wrote:
>* Hi all!*
>
>* Is there any way to send a function as an argument to another function?*
>
>* I want to do something looking like this:*
>
>* function minima = find_min(f)*
>
>* where f is not a matrix, but a function. Calls of this function could*
>* look like:*
>
>* find_min(sin)*
>* find_min(my_function) etc...*
>
>* /Fredrik*
The short answer is yes, e.g., feval(f, args) is using f as an argument of
feval. For a longer answer, that may not be exactly what you want, in the
bfgsmin_example.m file in octave-forge/main/optim, there is the following
snippet:
function obj_value = objective1(x, y)
z = y - ones(size(y));
obj_value = log(1 + x'*x) + log(1 + z'*z);
endfunction
# Check bfgsmin, illustrating variations
printf("\nEXAMPLE 1: Numeric gradient\n");
x0 = ones(2,1);
y0 = 2*ones(2,1);
control = {10,2,1,1}; # maxiters, verbosity, conv. reg., arg_to_min
[theta, obj_value, convergence] = bfgsmin("objective1", {x0, y0}, control);
So this is using the BFGS algorithm to find a minimum, which in this case is
the single global minimum.
M.
-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.
Octave's home on the web: http://www.octave.org
How to fund new projects: http://www.octave.org/funding.html
Subscription information: http://www.octave.org/archive.html
-------------------------------------------------------------