Multi Objective nonlinear functions with unknown multi parameters
Afficher commentaires plus anciens
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 commentaires
Torsten
le 23 Juil 2019
Where is x(6) in your equations ?
SN MJTHD
le 23 Juil 2019
Torsten
le 23 Juil 2019
Then your system is overdetermined and errors in the equations for a least-squares solution from an optimizer are normal.
SN MJTHD
le 23 Juil 2019
Torsten
le 23 Juil 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
le 23 Juil 2019
Torsten
le 23 Juil 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
le 23 Juil 2019
Torsten
le 23 Juil 2019
lsqnonlin is especially designed to solve problems like yours, but you are of course free in the choice of the optimizer.
SN MJTHD
le 23 Juil 2019
Réponses (1)
Alex Sha
le 28 Août 2019
0 votes
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
Catégories
En savoir plus sur Systems of Nonlinear Equations dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!