Multi Objective nonlinear functions with unknown multi parameters
Mostrar comentarios más antiguos
Dear Matlabers,
Lets say my system of equations are as below:
((1-x(1))*(10+x(5)))^2/(((x(1)^2)*x(3)^2)+((1-x(1))^2*x(2)^2)) = 0.154;
((1-x(1))*(10-x(5)))^2/(((x(1)^2)*x(3)^2)+((1-x(1))^2*x(2)^2)) = 0.254;
(x(1)*(10+x(4)))^2/(((x(1)^2)*x(3)^2)+((1-x(1))^2*x(2)^2)) = 0.545;
(x(1)*(10-x(4)))^2/(((x(1)^2)*x(3)^2)+((1-x(1))^2*x(2)^2)) = 0.034;
(10+(x(1)*x(4))+(1-x(1))*x(5))^2/(((x(1)^2)*x(3)^2)+((1-x(1))^2*x(2)^2)) = 0.994;
(10-(x(1)*x(4))-(1-x(1))*x(5))^2/(((x(1)^2)*x(3)^2)+((1-x(1))^2*x(2)^2)) = 0.063;
and I want to find x(1) ... x(5) values so that the equalities hold.
I already tried so many optimization methods but the problem is, after finding the values when I replace them with x values the error values I came across are very large.
Any help is appreciated..
Best,
10 comentarios
Torsten
el 23 de Jul. de 2019
Where is x(6) in your equations ?
SN MJTHD
el 23 de Jul. de 2019
Torsten
el 23 de Jul. de 2019
Then your system is overdetermined and errors in the equations for a least-squares solution from an optimizer are normal.
SN MJTHD
el 23 de Jul. de 2019
Torsten
el 23 de Jul. de 2019
lsqnonlin, e.g., will give you a solution for x(1),...,x(5) that minimizes the sum of errors squared of the equations. Do you have another error in mind ?
SN MJTHD
el 23 de Jul. de 2019
Torsten
el 23 de Jul. de 2019
I mean when I calculate the x(1) ... x(5) values and replace them for example in any of the
((1-x(1))*(10+x(5)))^2/(((x(1)^2)*x(3)^2)+((1-x(1))^2*x(2)^2)) = 0.154;
or
(10-(x(1)*x(4))-(1-x(1))*x(5))^2/(((x(1)^2)*x(3)^2)+((1-x(1))^2*x(2)^2)) = 0.063;
equations, the equality holds.
Say (for simplicity) your equations read
x(1) = 7
x(1) = 13
(2 equations in one unknown), you can't simultaneously find x(1) that makes the error in both equations equal to zero. The best compromise is x(1) = (7+13)/2 = 10.
That's the problem if you have more equations than unknowns.
SN MJTHD
el 23 de Jul. de 2019
Torsten
el 23 de Jul. de 2019
lsqnonlin is especially designed to solve problems like yours, but you are of course free in the choice of the optimizer.
SN MJTHD
el 23 de Jul. de 2019
Respuestas (1)
Alex Sha
el 28 de Ag. de 2019
0 votos
There are multi-solutions:
1:
x1: 0.387245311047365
x2: -0.00972723068513297
x3: -40.2902696169456
x4: 18.9579782048437
x5: -2.65707955299356
2:
x1: 0.387245311627332
x2: 7.2906925850934
x3: 38.6033440479639
x4: 18.9579781524691
x5: -2.65707955385685
3:
x1: 0.387245311366753
x2: -24.1738267443381
x3: 12.6548907569997
x4: 18.9579781707223
x5: -2.65707955330091
Categorías
Más información sobre Systems of Nonlinear Equations en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!