1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- #ifndef SETPAIRANALYSIS_H
- #define SETPAIRANALYSIS_H
- #include <QString>
- #include <QVector>
- /**
- * @brief 集对分析法,SPA,又称同异反综合分析法
- * 集成析是从系统的角度去认识确定性和不确定性的关系,并确定研究对象是一个确定不确定系统,
- * 其不确定性和确定性共同处于一个统一体之中。因此别从确定的角度和不确足的角度来研究不确定性的规律,并用联系度表示。
- * a:S/N 相同属性联系度(同一度)
- * b:F/N 相异属性联系度(差异度)
- * c:P/N 相反属性联系度(对立度)
- * 集对联系度公式:u = a + b*i + c*j
- */
- class SetPairAnalysis
- {
- public:
- typedef QVector<qreal> EvaluateIndex; //评估指标
- typedef QVector<qreal> Relations; //联系度
- typedef QStringList EvaluateNames; //评估对象
- /**
- * @brief 集对分析法构造函数
- * @param rMat 同异反评估矩阵
- * @param wMat 权重系数矩阵
- * @param eMat 同异反系数矩阵
- * @param optiDir false:最小值,true:最大值
- */
- SetPairAnalysis(const QVector<EvaluateIndex> &rMat, const QVector<qreal> &wMat,
- const QVector<qreal> &eMat = QVector<qreal>(), const QVector<bool> &optiDir = QVector<bool>());
- void setEvaluateNames(const EvaluateNames &names) { m_evalNames = names; }
- EvaluateNames getEvaluateNames() const { return m_evalNames; }
- /**
- * @brief 联系度值
- * @return
- */
- Relations getRelations() const;
- private:
- QVector<EvaluateIndex> m_rMat;
- QVector<qreal> m_wMat;
- QVector<qreal> m_eMat;
- EvaluateNames m_evalNames;
- };
- #endif // SETPAIRANALYSIS_H
|