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.
nmWATI/Include/iAlg/iAlgRegress/zxAlgRegressPower.h

38 lines
1.0 KiB
C++

This file contains ambiguous Unicode characters!

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 "zxAlgRegress.h"
#include "zxAlgRegressLinear.h"
//乘幂拟合
class I_ALGREGRESS_EXPORT zxAlgRegressPower : public zxAlgRegress
{
public:
zxAlgRegressPower(void);
~zxAlgRegressPower(void);
virtual double getValue(VecDouble& vMatrixX);
bool setFiltering();
bool SimpleCalcalute();
bool cal();
bool setTransformation();
bool setReciprocalTransformation();
// 组织表达式
virtual QString getExpStr();
private:
double m_dPlusCoeff; //乘积项系数
double m_dPowerCoeff; //指数项系数
double m_dPlusAssistCoeff; //乘积项辅助系数。用于处理系数为负数的情况。
bool m_bAcceptNonLinearRestrain; //是否接受非线性约束。
// 在转换成线性回归时,约束方式可能发生改变,在当前条件为指定参数约束,
// 转换时可能变成约束矩阵约束。因此不采用当前计算类由CLinearRegressAlgo派生
// 而记录CLinearRegressAlgo作为成员的方式。以免其它成员变量受到影响。
zxAlgRegressLinear* m_pLinearRegress;
};