# Las mates del GPS (Solución)

Tomado de: Kalman, D. (s.f.). An Undetermined Linear System for GPS. The Mathematical Association of America.
29/10/2024.

## Sistema de ecuaciones lineales (SEL)

S(P0,t0):=(P-P0).(P-P0)-(0.047*(t-t0))^2$
P:[x,y,z]$
ec1:S([1,2,0],19.9);
ec2:S([2,0,2],2.4);
ec3:S([1,1,1],32.6);
ec4:S([2,1,0],19.9);

## SEL resultante al restar ec1 a cada ecuación del sistema

Ec1:expand(ec2-ec1);
Ec2:expand(ec3-ec1);
Ec3:expand(ec4-ec1);

## Solución del SEL con t libre

solns:solve([Ec1,Ec2,Ec3],[x,y,z]);

val:solns[1];

## Sustitución de x, y, z en ec1

Ec:expand(psubst([x=rhs(val[1]),y=rhs(val[2]),z=rhs(val[3])],ec1));

## Solución de ec1 (valores de t)

t_val:float(solve(Ec,t));

## Posibles puntos (x,y,z) de ubicación del GPS

x1:subst(rhs(t_val[1]),t,rhs(val[1]))$
y1:subst(rhs(t_val[1]),t,rhs(val[2]))$
z1:subst(rhs(t_val[1]),t,rhs(val[3]))$

P1:[x1,y1,z1];

x2:subst(rhs(t_val[2]),t,rhs(val[1]))$
y2:subst(rhs(t_val[2]),t,rhs(val[2]))$
z2:subst(rhs(t_val[2]),t,rhs(val[3]))$

P2:[x2,y2,z2];

## Identificación del punto correcto

L1:sqrt(P1.P1);

L2:sqrt(P2.P2);

if 1<L1 then print("El GPS se localiza en el punto: ",P2) else print("El GPS se localiza en el punto: ",P1)$