FInd the function root
이전 댓글 표시
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
채택된 답변
추가 답변 (1개)
Abdolkarim Mohammadi
2020년 5월 22일
편집: Abdolkarim Mohammadi
2020년 5월 22일
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.
댓글 수: 3
Ani Asoyan
2020년 5월 22일
Abdolkarim Mohammadi
2020년 5월 22일
편집: Abdolkarim Mohammadi
2020년 5월 22일
In terms of an optimization problem, your objective function to be minimized is the differnence of the value of your function from zero. Your objective function would be something like this: "Min |f(x)-0|". You can also define your problem as a feasiblity problem (you can take a look at this comment). This way you have "Min 0; subject to f(x)==0". However, each run of the optimization problem gives you one of possibly many zeros of the function or might never give you some of the zeros.
Ani Asoyan
2020년 5월 26일
카테고리
도움말 센터 및 File Exchange에서 Solver Outputs and Iterative Display에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!