🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
LagrangeInterpolator.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "Interpolator.hpp"
25
26AST_NAMESPACE_BEGIN
27
42AST_MATH_API void aLagrangeInterpolate(const double arrX[], const double tableY[], int n, int dimy, double x, double* y);
43AST_MATH_API void aLagrangeInterpolate2(const double arrX[], const double tableY[], int n, int dimy, double x, double* y);
44
45
54AST_MATH_API void aLagrangeInterpolate(const double arrX[], const double tableY[], int n, int dimy, double x, double* y, double* workArray);
55
64AST_MATH_API void aLagrangeInterpolateFixedStep(const double arrX[], const double tableY[], int n, int dimy, double x, double* y, const double* denomArray);
65
66
71AST_MATH_API void aLagrangeInterpolateDenomArray(int n, double step, double* denomArray);
72
73#if 0 // @todo
74
76class LagrangeInterpolator: public Interpolator
77{
78public:
83 LagrangeInterpolator(int order, bool fixedStep, double step);
84
86 ~LagrangeInterpolator() override;
87 LagrangeInterpolator(const LagrangeInterpolator&) = delete;
88 LagrangeInterpolator& operator=(const LagrangeInterpolator&) = delete;
89
93 void evaluate(double x, double* out) const override;
94
97 int getDimension() const override;
98
99protected:
100 double* workArray_;
101 double* denomArray_;
102 double* xtable_;
103 double* ytable_;
104 int dimtable_;
105 int dim_;
106 int order_;
107};
108
109#endif
110
111
115AST_NAMESPACE_END
void aLagrangeInterpolateDenomArray(int n, double step, double *denomArray)
计算拉格朗日插值的分母数组
定义 LagrangeInterpolator.cpp:110
void aLagrangeInterpolate(const double arrX[], const double tableY[], int n, int dimy, double x, double *y)
拉格朗日插值
定义 LagrangeInterpolator.cpp:27
void aLagrangeInterpolateFixedStep(const double arrX[], const double tableY[], int n, int dimy, double x, double *y, const double *denomArray)
拉格朗日插值(针对等距节点优化)
定义 LagrangeInterpolator.cpp:91