function conditionNumber = error_magnification(numOfSatellites,theta,phi)
x = 0;
y = 0;
z = 6370;
c = 299792.458;
d = .0001;
satellitePositions = zeros(numOfSatellites,3);
for i = 1:numOfSatellites
mytheta = theta(1,i);
myphi = phi(1,i);
satellitePositions(i,:) = getSphericalCoordinates(myphi,mytheta);
end
Ri_vector = zeros(numOfSatellites,1);
travel_times = zeros(numOfSatellites,1);
for i = 1:numOfSatellites
Ri_vector(i) = calculateRange(satellitePositions(i,:));
travel_times(i) = d + Ri_vector(i)/c;
end
travel_times_change = generateOnes(numOfSatellites) * 0.0000001;
travel_times_row_vector = transpose(travel_times);
bestDeltaT_row = ones(1,numOfSatellites);
difference_in_position_and_emf = 1;
conditionNumber = 1;
for row=1:2^(numOfSatellites)
travel_times_my_row = (travel_times_row_vector + travel_times_change(row,:));
x_bar = quadratic_formula(travel_times_my_row,satellitePositions,1);
y_bar = quadratic_formula(travel_times_my_row,satellitePositions,2);
z_bar = quadratic_formula(travel_times_my_row,satellitePositions,3);
d_bar = quadratic_formula(travel_times_my_row,satellitePositions,4);
delta_x = abs(x-x_bar);
delta_y = abs(y-y_bar);
delta_z = abs(z-z_bar);
infty_norm_xyz = 1;
if (delta_x > delta_y && delta_x > delta_z)
infty_norm_xyz = delta_x;
elseif (delta_y > delta_x && delta_y > delta_z)
infty_norm_xyz = delta_y;
elseif (delta_z > delta_x && delta_z > delta_y)
infty_norm_xyz = delta_z;
end
infty_norm_t = 0.0000001;
infty_norm_xyz = (infty_norm_xyz);
emf = (infty_norm_xyz)/(infty_norm_t * c);
if (row == 1)
conditionNumber = emf;
bestDeltaT = travel_times_change(row,:);
difference_in_position_and_emf = abs(emf - infty_norm_xyz);
else
if(emf > conditionNumber)
conditionNumber = emf;
bestDeltaT = travel_times_change(row,:);
difference_in_position_and_emf = abs(emf - infty_norm_xyz);
end
end
end
theConditionNumber = conditionNumber
theGeneratingTrow = bestDeltaT
positionMinusEMF = difference_in_position_and_emf
end
Not enough input arguments.
Error in error_magnification (line 14)
satellitePositions = zeros(numOfSatellites,3);