How to solve a system of equations?

1 ビュー (過去 30 日間)
Jessie Bessel
Jessie Bessel 2018 年 2 月 27 日
コメント済み: Walter Roberson 2018 年 3 月 1 日
I try to solve a non=linear equtions system, but it doesn't work. I missed something?
F=@(x)[sqrt((x(1)-5)^2 + x(2)^2 + x(3)^2 )-sqrt( x(1)^2 + (x(2)+10)^2 + x(3)^2) +0.34;
sqrt(x(1)^2 + (x(2)+10)^2 + x(3)^2 )-sqrt( x(1)^2 + (x(2)-10)^2 + x(3)^2);
sqrt( x(1)^2 + (x(2)-10)^2 + x(3)^2 )-sqrt( x(1)^2 + x(2)^2 + x(3)^2)];
x0=[50;0;0];
fsolve(F,x0)

回答 (2 件)

Alan Weiss
Alan Weiss 2018 年 2 月 27 日
You have an errant space just before "+0.34" that is confusing the parser. Try this:
F=@(x)[sqrt((x(1)-5)^2 + x(2)^2 + x(3)^2 )-sqrt( x(1)^2 + (x(2)+10)^2 + x(3)^2)+0.34;
sqrt(x(1)^2 + (x(2)+10)^2 + x(3)^2 )-sqrt( x(1)^2 + (x(2)-10)^2 + x(3)^2);
sqrt( x(1)^2 + (x(2)-10)^2 + x(3)^2 )-sqrt( x(1)^2 + x(2)^2 + x(3)^2)];
x0=[50;0;0];
fsolve(F,x0)
You might need to include some options or a better start point for a good answer.
Alan Weiss
MATLAB mathematical toolbox documentation
  2 件のコメント
Walter Roberson
Walter Roberson 2018 年 3 月 1 日
They are the value of the vector x at the time that fsolve figured out that the system could not be solved.

サインインしてコメントする。


Roger Stafford
Roger Stafford 2018 年 2 月 28 日
To solve these you would have to satisfy both
x(1)^2 + (x(2)+10)^2 + x(3)^2 = x(1)^2 + (x(2)-10)^2 + x(3)^2
x(1)^2 + (x(2)-10)^2 + x(3)^2 = x(1)^2 + x(2)^2 + x(3)^2)
and since the x(1) and x(3) terms cancel would require simply
(x(2)+10)^2 = (x(2)-10)^2
(x(2)-10)^2 = x(2)^2
The first of these requires that x(2) = 0 while the second requires that x(2) = 5. These are mutually incompatible and therefore there are no simultaneous solutions to your equations. That is why "it doesn't work".
  1 件のコメント
Jessie Bessel
Jessie Bessel 2018 年 2 月 28 日
when i do that, the solver tell me that there is no solution found, but what are the value from ans?Originally, there should have been the solutions, but if the system doesn't have solutions, what are they?

サインインしてコメントする。

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by