# How to solve a system of equations?

4 views (last 30 days)

Show older comments

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)

##### 0 Comments

### Answers (2)

Alan Weiss
on 27 Feb 2018

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 Comments

Walter Roberson
on 1 Mar 2018

Roger Stafford
on 28 Feb 2018

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".

### See Also

### Categories

### Community Treasure Hunt

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

Start Hunting!