You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
# pragma once
# include "Defines.h"
# include "mAlgPseudo_global.h"
# include "mAlgDefines.h"
# include "mAlgMatrix.h"
// 拟压力相关的通用函数类
class M_ALGPSEUDO_EXPORT iAlgPseuBase
{
public :
iAlgPseuBase ( ) ;
// 当前是否采用三区模式计算拟压力
static void setPseuMode ( int n ) ;
static int getPseuMode ( ) ;
// 主调用函数,内部自动区分压力还是拟压力
static bool calP ( double ps , double & p , int which = - 1 ) ;
static bool calPS ( double p , double & ps , int which = - 1 ) ;
// 计算“x--->y”的回归曲线方程系数
static bool _fitXtoY ( VecDouble vecXs , VecDouble vecYs , VecDouble & vecCoefs , bool isZero = true ) ;
// 计算“y--->x”的回归曲线方程系数(反推)
static bool _fitYtoX ( VecDouble vecXs , VecDouble vecYs , VecDouble & vecCoefs , bool isZero = false ) ;
// 计算相关性系数
// vecXs是横坐标, vecYs为纵坐标, vecCoefs为系数
static bool _calR2 ( VecDouble vecXs , VecDouble vecYs , VecDouble vecCoefs , double & R2 ) ;
// 多项式转换
static bool _calMultiPolyX ( double x , double & y , VecDouble vecCoefs ) ;
private :
// 当前是否采用三区模式计算拟压力
// 0: 常规、1:三区拟压力(白)、2:组分三区拟压力(徐)
static int m_nPseuMode ;
} ;