SAR_Model::SAR_Model(SAR_Metadata &InputMetadata, int Precision) { PrecisionIndex = Precision; Metadata = InputMetadata; StateVectorsRows.resize(PrecisionIndex*Metadata.Height); // Computation of Lagrange coefficients using State Vectors position&velocity // OrbitCoeff = LagrangeCoeff(Metadata.StateVectors); // Computation of satellite position&velocity for each rows using Lagrange interpolator // for (int i=0; i<PrecisionIndex*Metadata.Height; i++) { Time = Metadata.AzimutT0 + (Metadata.AzimutTi/PrecisionIndex)*i; StateVectorsRows[i] = LagrangeInterpolation(Time,Metadata.StateVectors,OrbitCoeff); } }
int main() { double min = -5, max = 5; uint64_t dim = 15; double x[dim]; double y[dim]; double px; for(uint64_t i = 0; i < dim; ++i) x[i] = i*(max - min)/(dim - 1) + min, y[i] = cos(x[i]) - 2*sin(1.2*x[i]); Lagrange L = CreateLagrange(x, y, dim); for(uint64_t i = 0; i < dim*300; ++i) px = i*(max - min)/(dim*300 - 1) + min, printf("%f %.15f\n", px, LagrangeInterpolation(px, L)); //printf("%f %f\n", x[i], LagrangeInterpolation(x[i], L)); //printf("%f %f\n", L.x[i], L.inv[i]); DeleteLagrange(&L); return 0; }