|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//<2F>ļ<EFBFBD>: SegY<67>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>:
|
|
|
|
|
|
//
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д: 2005-12-07
|
|
|
|
|
|
//
|
|
|
|
|
|
//
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
|
|
#define MATH_TRACE_INTEGRAL 0x0001L//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
#define MATH_THREE_INSTANTANEOUS 0x0002L//<2F><>˲
|
|
|
|
|
|
#define MATH_AVERAGE_2_POINT 0x0004L//<2F><><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD>
|
|
|
|
|
|
#define MATH_AVERAGE_3_POINT 0x0010L//<2F><><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD>
|
|
|
|
|
|
#define MATH_5_POINT_3_TIMES 0x0020L//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
#define MATH_WALSH 0x0040L//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʲ<EFBFBD>任
|
|
|
|
|
|
#define MATH_UNIFORM 0x0080L//<2F><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
#define MATH_POWER_2 0x0100L//<2F><><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD>
|
|
|
|
|
|
#define MATH_POWER_3 0x0200L//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
class AFX_EXT_CLASS CSectionMath
|
|
|
|
|
|
{
|
|
|
|
|
|
int num;
|
|
|
|
|
|
double *a;
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
CSectionMath(void);
|
|
|
|
|
|
virtual ~CSectionMath(void);
|
|
|
|
|
|
virtual void Clear(void);
|
|
|
|
|
|
|
|
|
|
|
|
int TraceIntegral(CVector& vt); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int ThreeInstantaneous(CVector& vt,int mode); //<2F><>˲,mode=0˲ʱ<CBB2><CAB1><EFBFBD><EFBFBD>,mode=1˲ʱ<CBB2><CAB1>λ,mode=2˲ʱƵ<CAB1><C6B5>
|
|
|
|
|
|
int OppositeWave(CVector &vt); //<2F><><EFBFBD>Բ<EFBFBD><D4B2>迹
|
|
|
|
|
|
int Play(CVector& vt, UINT uIdea, int times=1);
|
|
|
|
|
|
int Play(CVector& vt, UINT* pMode, int nNum);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD>
|
|
|
|
|
|
double v0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>ֵ
|
|
|
|
|
|
double f1,f2; //<2F><>ͨ<EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
|
int m; //
|
|
|
|
|
|
double dt; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
//Ϊ<><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD>б<EFBFBD><D0B1>ݵ<EFBFBD>
|
|
|
|
|
|
CVector *m_pBkVector;
|
|
|
|
|
|
void BackupTrace(CVector& vector);
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
void Average3Point(int n,double *x,double *b); //<2F><><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void Average2Point(int n,double *x,double *b); //<2F><><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD>
|
|
|
|
|
|
void Point5Time3(int n, double *y, double *yy); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD>
|
|
|
|
|
|
void Walsh(double *p, int n, int k, double *x); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʲ<EFBFBD>任
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
//<2F><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD>ֵ
|
|
|
|
|
|
double Uniform(CVector& vt);
|
|
|
|
|
|
double Uniform(CVector& vt, double max, double min);
|
|
|
|
|
|
|
|
|
|
|
|
void Power(CVector& vt, int nPower); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>η<EFBFBD>
|
|
|
|
|
|
int Walsh(CVector& vt,BOOL bFirstTime); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʲ<EFBFBD>任
|
|
|
|
|
|
|
|
|
|
|
|
double HT(double ff1, double ff2, double t); //<2F><>ͨ<EFBFBD>˲<EFBFBD>
|
|
|
|
|
|
};
|