🛰️航天仿真算法库 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
91 void evaluate(double x, double* out) const override;
92
95 int getDimension() const override;
96
97protected:
98 double* workArray_;
99 double* denomArray_;
100 double* xtable_;
101 double* ytable_;
102 int dimtable_;
103 int dim_;
104 int order_;
105};
106
107#endif
108
109
113AST_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