📄 newtoninterpolate.h
字号:
#pragma once
#include <afxtempl.h>
class NewtonInterpolate
{
private:
int m_nNum;
CArray<double, double&> m_pdNodeX, m_pdNodeY;
CArray<double, double&> m_pdDeviationDiagonal; //f[x0], f[x0, x1], f[x0, x1, x2], f[x0, x1, x2, x3]
CArray<double, double&> m_pdDeviationLstLine; //e.g let n=3 then f[x3], f[x2, x3], f[x1, x2, x3], f[x0, x1, x2, x3]
public:
//构造一个空对象
NewtonInterpolate(void);
public:
~NewtonInterpolate(void);
public:
//打印多项式系数
void PrintPolynomial();
//增加一个插值节点,阶数为degree, y记录函数值及各阶导数的首地址
BOOL AddNode(int degree, double x, double *y);
double Evaluation(double x);
//创建一个插值多项式, 在n个插值点上仅有函数值约束,而没有导数约束。
NewtonInterpolate(int n , double x[], double y[]);
//创建一个插值多项式, 在n个插值点上既有函数值约束,又有导数约束。
//degree[i]指定在x[i]处约束的个数
//y[i]是指向x[i]处的函数值、导数值的指针
NewtonInterpolate(int n, int degree[], double x[], double *y[]);
//计算均差
void CalculateDeviation(void);
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -