solveBrent(f, y0, a, b, max_steps, tol_x, tol_y)

Brent's algorithm to solve equations.

fThe function to be solved.
y0Looking for x0 s.t. f(x0)=y0
aThe l.h.s of the bracket.
bThe r.h.s. of the bracket.
max_steps(Optional, defaults to 100) The maximum number of function evaluations.
tol_x(Optional, defaults to 1e-15) Tolerance on x.
tol_y(Optional, defaults to 0, i.e. only equation terminates.) Tolerance on f(x)-y0.
return valueA stucture {x:x, y:y, exit:n}, c.f. description.

We are solving the equation f(x)=y0 for x. The function requires a bracket [a,b], i.e. $ f(a)<y0 $ and $ f(b)>y0 $, or v.v. The algorithm returns a stucture {x:x, y:y, exit:n}, where x is the approximate solution, y is the corresponding f(x), exit is 0 if one of the exit criteria is met, 1 if no approx. solution is found in max_steps (in this case, the last iteration point is still returned as approximate solution in (x,y)), and 2 if [a,b] is not a bracket (in this case the fields x and y are not filled).

solveBrent(@(x) x^3, 0, -2V, 1V, 123, 1e-10V, 1e-100V^3)