?? integral.h
字號:
//////////////////////////////////////////////////////////////////////
// Integral.h
//
// 操作數值積分的類 CIntegral 的聲明接口
//
// 周長發編制, 2002/8
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_INTEGRAL_H__21478079_DA0B_4D58_8565_E197C022F2FA__INCLUDED_)
#define AFX_INTEGRAL_H__21478079_DA0B_4D58_8565_E197C022F2FA__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <math.h>
class AFX_EXT_CLASS CIntegral
{
public:
//
// 構造與析構
//
CIntegral();
virtual ~CIntegral();
//
// 虛函數:計算積分函數值,必須在派生類中覆蓋該函數
//
virtual double Func(double x)
{
return 0.0;
}
//
// 數值積分求解算法
//
// 變步長梯形求積法
double GetValueTrapezia(double a, double b, double eps = 0.000001);
// 變步長辛卜生求積法
double GetValueSimpson(double a, double b, double eps = 0.000001);
// 自適應梯形求積法
double GetValueATrapezia(double a, double b, double d, double eps = 0.000001);
// 龍貝格求積法
double GetValueRomberg(double a, double b, double eps = 0.000001);
// 計算一維積分的連分式法
double GetValuePq(double a, double b, double eps = 0.000001);
// 高振蕩函數求積法
double GetValuePart(double a, double b, int m, int n, double fa[], double fb[], double s[]);
// 勒讓德-高斯求積法
double GetValueLegdGauss(double a, double b, double eps = 0.000001);
// 拉蓋爾-高斯求積法
double GetValueLgreGauss();
// 埃爾米特-高斯求積法
double GetValueHermiteGauss();
//
// 內部函數
//
private:
void ppp(double x0, double x1, double h, double f0, double f1, double t0, double eps, double d, double t[]);
};
#endif // !defined(AFX_INTEGRAL_H__21478079_DA0B_4D58_8565_E197C022F2FA__INCLUDED_)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -