Resolution of equation under constraints with 'fminbnd'
Mostra commenti meno recenti
hi, i must resolve the system of equations with two variable x and y, and i use 'solve' to do it, but i must limit the solution between an interval, can fminbnd function replace 'solve' in this case
3 Commenti
Matt J
il 23 Giu 2015
Torsten commented:
You have two equations in two unknowns ?
And the system of equations has multiple solutions ?
Best wishes
Torsten.
Torsten
il 23 Giu 2015
The reason why I ask is that it is usually not possible to restrict the solution to a certain interval.
The best you can expect is to get values for x and y such that
f1(x,y)^2+f2(x,y)^2
is minimized if you want to solve
f1(x,y)=0 and f2(x,y)=0.
If this is what you want you can proceed as Matt suggested.
Best wishes
Torsten.
Risposte (1)
Matt J
il 23 Giu 2015
0 voti
No, fminbnd only handles problems in a single unknown. You can use lsqnonlin, if you have the Optimization Toolbox, or you can try things on the File Exchange, like fminsearchbnd
7 Commenti
studentU
il 23 Giu 2015
Matt J
il 23 Giu 2015
Use as your objective function
f(x) = [G*cos(x(2))+F*sin(x(2))-1 ; cos(x(2))*sin(el)-sin(x(2))*X2*cos(x(1))-sin(x(2))*X3*sin(x(1))-1];
and set lb=[0;-90] and ub=[90,90]
Torsten
il 23 Giu 2015
lb=[0;-pi/2] and ub=[pi/2;pi/2]
Best wishes
Torsten.
studentU
il 25 Giu 2015
Walter Roberson
il 25 Giu 2015
x = lsqnonlin(@(x) [G*cos(x(2))+F*sin(x(2))-1 ; cos(x(2))*sin(el)-sin(x(2))*X2*cos(x(1))-sin(x(2))*X3*sin(x(1))-1],-pi/2,[0;-pi/2], [pi/2;pi/2]);
studentU
il 26 Giu 2015
Walter Roberson
il 26 Giu 2015
Your x0, your initial points, is -pi/2 which is a scalar. But your objective function expects a vector of length two (or more). You need to supply a vector of length 2 instead of -pi/2
Categorie
Scopri di più su Surrogate Optimization in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!