Multi Objective nonlinear functions with unknown multi parameters
显示 更早的评论
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 个评论
Torsten
2019-7-23
Where is x(6) in your equations ?
SN MJTHD
2019-7-23
Torsten
2019-7-23
Then your system is overdetermined and errors in the equations for a least-squares solution from an optimizer are normal.
SN MJTHD
2019-7-23
Torsten
2019-7-23
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
2019-7-23
Torsten
2019-7-23
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
2019-7-23
Torsten
2019-7-23
lsqnonlin is especially designed to solve problems like yours, but you are of course free in the choice of the optimizer.
SN MJTHD
2019-7-23
回答(1 个)
Alex Sha
2019-8-28
0 个投票
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
类别
在 帮助中心 和 File Exchange 中查找有关 Systems of Nonlinear Equations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!