Using Regula-Falsi (false position) to solve a system of non-linear equations

681 Views Asked by At

I've written an algorithm implementing the Regula-Falsi ("false position") root finding method, and it works well for singular non-linear equations (where a single root exists). I'd now like to apply this to a localization problem, which can be described by a system of nonlinear equations.


Suppose we're given

a) The locations $x_i, y_i, z_i$ of three observers in two dimensions, or four observers in three dimensions, t

b) The velocity $v$ of some signal

c) The time of arrival, $t_i$, of the signal at each observer.

We want to determine the coordinates of the signal source, assuming straight-line travel, which is possible in general for any $n$ dimensions, given $n+1$ observers such that not all observers lie in an $n-1$ dimensional space.


I know that this problem can, of course, be represented in two dimensions by a non-linear system with equations of the form:

$$\sqrt{(X-x_i)^2+(Y-y_i)^2}-v(t_i-T)=0$$

...the system...

$\sqrt{(x-x_1)^2+(y-y_1)^2}+v(t_2-t_1) = \sqrt{(x-x_2)^2 + (y-y_2)^2}$

$\sqrt{(x-x_2)^2+(y-y_2)^2}+v(t_3-t_2) = \sqrt{(x-x_3)^2 + (y-y_3)^2}$

$\sqrt{(x-x_3)^2+(y-y_3)^2}+v(t_1-t_3) = \sqrt{(x-x_1)^2 + (y-y_1)^2}$

And in three dimensions:

$$\sqrt{(X-x_i)^2+(Y-y_i)^2+(Z-z_i)^2}-v(t_i-T)=0$$

How might Regula-Falsi be applied to such a problem?

I'm not sure if it's best to apply this method directly to the system, or if there's a 'better' way to apply Regula-Falsi to this problem. I know, in general, we'd want to 'bracket in' $F(x, y, z, ...)$, but I'm not sure where to go from here.

Note: I'm aware other methods exist (for example, I've solved this with the Newton Raphson method, thanks in large part to this answer on a previous, somewhat related post: ). I'm interested in using Regula Falsi here.

1

There are 1 best solutions below

0
On

You can't directly bracket a system of equations. You can instead bracket each equation individually, and then iteratively solve by back substitution.

Given $x(y,z)$ as a solution for $x$ in one equation, found by some method (e.g. regula-falsi).

Then find $y(x,z)$ as a solution for $y$ in another equation where $x$ is given by $x(y,z)$.

Then find $z(x,y)$ as a solution for $z$ in the last equation, where $x,y$ are given by the above.

This will involve a lot of solving however, since you will have to solve for $x$ on every iteration where you compute a new $y,z,$ and you will have to solve for $y$ on every iteration where you compute a new $z$.