Multi Objective nonlinear functions with unknown multi parameters
Show older comments
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 Comments
Torsten
on 23 Jul 2019
Where is x(6) in your equations ?
SN MJTHD
on 23 Jul 2019
Torsten
on 23 Jul 2019
Then your system is overdetermined and errors in the equations for a least-squares solution from an optimizer are normal.
SN MJTHD
on 23 Jul 2019
Torsten
on 23 Jul 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
on 23 Jul 2019
Torsten
on 23 Jul 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
on 23 Jul 2019
Torsten
on 23 Jul 2019
lsqnonlin is especially designed to solve problems like yours, but you are of course free in the choice of the optimizer.
SN MJTHD
on 23 Jul 2019
Answers (1)
Alex Sha
on 28 Aug 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
Categories
Find more on Systems of Nonlinear Equations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!