Skip to content
Snippets Groups Projects
solve.m 838 B
Newer Older
function [unfilteredA, unfilteredB, X, A, B] = solve(pRfb, pSoundsources, pTrackingParameter, pToaData, pSatData, pAppliedTemperature, pAppliedPressure, pLeapsecondsMatrix, pOffsetsParameter)
%UNTITLED Summary of this function goes here
%   Detailed explanation goes here

%% Construct matrices A and B
[unfilteredA, unfilteredB] = artoa.offsets.createCalculationMatrices( ...
    pRfb, ...
    pSoundsources, ...
    pTrackingParameter, ...
    pToaData, ...
    pSatData, ...
    pAppliedTemperature, ...
    pAppliedPressure, ...
    pLeapsecondsMatrix ...
);

%% Optimize matrices for calculation
[A, B] = artoa.offsets.filterCalculationMatrices(unfilteredA, unfilteredB);

if pOffsetsParameter.useFixedSoundspeed
    A = A(:, 2:end);
    B = B - A(:, 1) * pOffsetsParameter.fixedSoundspeed;
end

%% Solve it!
X = pinv(A) * B;