function g = gpsNewtons(x0,y0,z0,d0)

format long;

% (x-A1)^2 +(y-B1)^2 +(z-C1)^2 =[c(t1-d)]^2
% (x-A2)^2 +(y-B2)^2 +(z-C2)^2 =[c(t2-d)]^2
% (x-A3)^2 +(y-B3)^2 +(z-C3)^2 =[c(t3-d)]^2
% (x-A4)^2 +(y-B4)^2 +(z-C4)^2 =[c(t4-d)]^2
% vector = x={1;2;3;4;5} = verticle vector

iv = [x0;y0;z0;d0];

%Assigning input variables
x=x0;
y=y0;
z=z0;
d=d0;

%Speed of light in km/s
c=299792.458;

%Given satellite positions
A1=15600;
B1=7540;
C1=20140;
t1=0.07074;

A2=18760;
B2=2750;
C2=18610;
t2=0.07220;

A3=17610;
B3=14630;
C3=13480;
t3=0.07690;

A4=19170;
B4=610;
C4=18390;
t4=0.07242;

f1=(x-A1)^2+(y-B1)^2+(z-C1)^2-(c*(t1-d))^2;
f2=(x-A2)^2+(y-B2)^2+(z-C2)^2-(c*(t2-d))^2;
f3=(x-A3)^2+(y-B3)^2+(z-C3)^2-(c*(t3-d))^2;
f4=(x-A4)^2+(y-B4)^2+(z-C4)^2-(c*(t4-d))^2;

F=[f1;f2;f3;f4];

J=[(2*x-2*A1) (2*y-2*B1) (2*z-2*C1) (-2*c^2*d+2*c^2*t1);
   (2*x-2*A2) (2*y-2*B2) (2*z-2*C2) (-2*c^2*d+2*c^2*t2);
   (2*x-2*A3) (2*y-2*B3) (2*z-2*C3) (-2*c^2*d+2*c^2*t3);
   (2*x-2*A4) (2*y-2*B4) (2*z-2*C4) (-2*c^2*d+2*c^2*t4)];
v = -J\F;
xv = v+iv;



steps=10;
for i=1:steps
    x=xv(1);
    y=xv(2);
    z=xv(3);
    d=xv(4);

    f1=(x-A1)^2+(y-B1)^2+(z-C1)^2-(c*(t1-d))^2;
    f2=(x-A2)^2+(y-B2)^2+(z-C2)^2-(c*(t2-d))^2;
    f3=(x-A3)^2+(y-B3)^2+(z-C3)^2-(c*(t3-d))^2;
    f4=(x-A4)^2+(y-B4)^2+(z-C4)^2-(c*(t4-d))^2;

    F=[f1;f2;f3;f4];

    J=[(2*x-2*A1) (2*y-2*B1) (2*z-2*C1) (-2*c^2*d+2*c^2*t1);
       (2*x-2*A2) (2*y-2*B2) (2*z-2*C2) (-2*c^2*d+2*c^2*t2);
       (2*x-2*A3) (2*y-2*B3) (2*z-2*C3) (-2*c^2*d+2*c^2*t3);
       (2*x-2*A4) (2*y-2*B4) (2*z-2*C4) (-2*c^2*d+2*c^2*t4)];

    v = -J\F;
    xv = v+xv;
end
xv
x=xv(1)
y=xv(2)
z=xv(3)
d=xv(4)
end
Not enough input arguments.
Error in gpsNewtons (line 11)
iv = [x0;y0;z0;d0];