12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- //
- // Created by lenovo on 2023/10/18.
- //
- #ifndef ALGORITHM_SETPAIRANALYSIS_H
- #define ALGORITHM_SETPAIRANALYSIS_H
- #include "QString"
- #include "QVector"
- typedef QVector<qreal> EvaluateIndex; // 评估指标
- typedef QVector<qreal> Relations; // 联系度
- typedef QStringList EvaluateNames;
- /**
- * @brief 集对分析法,SPA,又称同异反综合分析法
- * 集成析是从系统的角度去认识确定性和不确定性的关系,并确定研究对象是一个确定不确定系统,
- * 其不确定性和确定性共同处于一个统一体之中。因此别从确定的角度和不确足的角度来研究不确定性的规律,并用联系度表示。
- * a:S/N 相同属性联系度(同一度)
- * b:F/N 相异属性联系度(差异度)
- * c:P/N 相反属性联系度(对立度)
- * 集对联系度公式:u = a + b*i + c*j
- */
- class SetPairAnalysis
- {
- public:
- // 评估对象
- /**
- * @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 // ALGORITHM_SETPAIRANALYSIS_H
|