Passing functions in MATLAB
Info
This question is closed. Reopen it to edit or answer.
Show older comments
Hi I am having some difficulty passing functions on MATLAB and needed some help.
I am trying to implement a bisection algorithm, [l,r,nf] = bisect ( fname, a,b, tol)
Where l and r are the left and right handed end-points of the root-bracketing interval, and fname is another M-file in my directory that contains the actual function being evaluated (also an M-file)
How does one use a function as the input for an argument in MATLAB? Thanks!
Answers (1)
dpb
on 3 Oct 2018
0 votes
Look at function handles; there's a section under Data Types in the documentation...
2 Comments
Shakil Rafi
on 4 Oct 2018
Walter Roberson
on 4 Oct 2018
function [l,r,nf] = bisect ( fname, a, b, tol)
if fname(a) * fname(b) > 0
[...]
To be called with something like
[left, right, count] = bisect( @(x) sin(x).^2 - tan(x), -pi/2, pi/2, 0.01 )
This question is closed.
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!