# FInd the function root

7 views (last 30 days)
Ani Asoyan on 22 May 2020
Commented: Ani Asoyan on 26 May 2020
How can I find the root of function without initial point?
I have a parametrized function, with one variable, N
a=@(N)(something)
How can I find the values of N without initial point , where a=0 ? ... I've tried fzero but apparently it works only with initial value. Please help

Cristian Garcia Milan on 22 May 2020
Edited: darova on 22 May 2020
You have to use a initial value (it can be 0). The fzero function uses a combination of bisection, secant, and inverse quadratic interpolation methods, but have to look around a point.
Actually, it doesn't really matter how precisse you are, but the problem could be that the function reaches it maximum number of iterations (which you can modify) before it get you the root value.
Ani Asoyan on 26 May 2020
thank you !

Abdolkarim Mohammadi on 22 May 2020
Edited: Abdolkarim Mohammadi on 22 May 2020
Finding values of inputs that minimizes or maximizes an objective function is an optimizaiton problem. I don't know about your function, but If your function is linear, then you run the following code and optimize your function:
[x, fval] = linprog (u_g, [], []);
If your function is unimodal and relatively smooth, then you run the following code and optimize your function:
[x, fval] = fmincon (u_g, x0, [], []);
Be aware that fmincon uses an initial point x0. If the landscape of your function is unknown, i.e., you don't know whether it is linear, nonlinear, multi-modal, non-smooth, etc, then you run the following code and optimize your function:
[x, fval] = ga (u_g, nvars);
Where nvars i the number of variables. You can refer to the documentation of each solver for more information. Finding the roots of a function is translated into an optimization problem as f(x) = 0; so you need to provide this as a constraint to the solvers mentioned above or any other solvers.
Ani Asoyan on 26 May 2020
thank you !