예제 #1
0
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);
	}

}
예제 #2
0
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;
}