?? interpolate.h
字號:
//////////////////////////////////////////////////////////////////////
// Interpolate.h
//
// 插值類 CInterpolate 的聲明接口
//
// 皮敏捷編制, 2006/5
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_INTERPOLATE_H__0AF22CA4_A4AA_486B_9D68_E074FABDAF85__INCLUDED_)
#define AFX_INTERPOLATE_H__0AF22CA4_A4AA_486B_9D68_E074FABDAF85__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <math.h>
class CInterpolate
{
public:
//
// 構(gòu)造與析構(gòu)
//
CInterpolate();
virtual ~CInterpolate();
//
// 將字符串轉(zhuǎn)換成結(jié)點值
//
static int GetNodesFromString(CString s, int n, double dblNodes[], const CString& sDelim = " ");
//
// 插值算法函數(shù)
//
// 一元全區(qū)間不等距插值
static double GetValueLagrange(int n, double x[], double y[], double t);
// 一元全區(qū)間等距插值
static double GetValueLagrange(int n, double x0, double xStep, double y[], double t);
// 一元三點不等距插值
static double GetValueLagrange3(int n, double x[], double y[], double t);
// 一元三點等距插值
static double GetValueLagrange3(int n, double x0, double xStep, double y[], double t);
// 連分式不等距插值
static double GetValuePqs(int n, double x[], double y[], double t);
// 連分式等距插值
static double GetValuePqs(int n, double x0, double xStep, double y[], double t);
// 埃爾米特不等距插值
static double GetValueHermite(int n, double x[], double y[], double dy[], double t);
// 埃爾米特等距插值
static double GetValueHermite(int n, double x0, double xStep, double y[], double dy[], double t);
// 埃特金不等距逐步插值
static double GetValueAitken(int n, double x[], double y[], double t, double eps = 0.000001);
// 埃特金等距逐步插值
static double GetValueAitken(int n, double x0, double xStep, double y[], double t, double eps = 0.000001);
// 光滑不等距插值
static double GetValueAkima(int n, double x[], double y[], double t, double s[], int k = -1);
// 光滑等距插值
static double GetValueAkima(int n, double x0, double xStep, double y[], double t, double s[], int k = -1);
// 第一種邊界條件的三次樣條函數(shù)插值、微商與積分
static double GetValueSpline1(int n, double x[], double y[], double dy[], double ddy[],
int m, double t[], double z[], double dz[], double ddz[]);
// 第二種邊界條件的三次樣條函數(shù)插值、微商與積分
static double GetValueSpline2(int n, double x[], double y[], double dy[], double ddy[],
int m, double t[], double z[], double dz[], double ddz[]);
// 第三種邊界條件的三次樣條函數(shù)插值、微商與積分
static double GetValueSpline3(int n, double x[], double y[], double dy[], double ddy[],
int m, double t[], double z[], double dz[], double ddz[]);
// 二元三點插值
static double GetValueTqip(int n, double x[], int m, double y[], double z[], double u, double v);
// 二元全區(qū)間插值
static double GetValueLagrange2(int n, double x[], int m, double y[], double z[], double u, double v);
};
#endif // !defined(AFX_INTERPOLATE_H__0AF22CA4_A4AA_486B_9D68_E074FABDAF85__INCLUDED_)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -