类 MinkwoskiDistance

继承关系

基类

类文档

class MinkwoskiDistance : public gwm::CRSDistance

明氏距离

公有成员函数

explicit MinkwoskiDistance(double p, double theta)

构造一个新的 MinkwoskiDistance 对象

参数
  • p – 次数

  • theta – 旋转角度

MinkwoskiDistance(const MinkwoskiDistance &distance)

构造一个新的 MinkwoskiDistance 对象

参数

distance – 要拷贝的 MinkwoskiDistance 对象

inline virtual Distance *clone() override

克隆这个 Distance 对象。

返回

Distance* 重新创建的对象指针

inline virtual DistanceType type() override

返回该对象的类型。

返回

DistanceType 距离陆良类型

inline double poly() const

获取次数。

返回

double 次数

inline void setPoly(double poly)

设置次数。

参数

poly – 次数

inline double theta() const

获取旋转角度。

返回

double 旋转角度

inline void setTheta(double theta)

设置旋转角度。

参数

theta – 旋转角度

virtual arma::vec distance(arma::uword focus) override

为一个目标点计算距离向量。

参数

focus – 目标点索引,要求 focus 小于参数中的 total

返回

arma::vec 目标点到所有数据点的距离向量

公有静态方法

static arma::mat CoordinateRotate(const arma::mat &coords, double theta)

旋转坐标。

参数
  • coords – 坐标

  • theta – 旋转角度

返回

arma::mat 旋转后的坐标

static inline arma::vec ChessDistance(const arma::rowvec &out_loc, const arma::mat &in_locs)

棋盘距离。

参数
  • out_loc – 目标点坐标

  • in_locs – 数据点坐标

返回

arma::vec 目标点到数据点距离向量

static inline arma::vec ManhattonDist(const arma::rowvec &out_loc, const arma::mat &in_locs)

曼哈顿距离。

参数
  • out_loc – 目标点坐标

  • in_locs – 数据点坐标

返回

arma::vec 目标点到数据点距离向量

static inline arma::vec MinkwoskiDist(const arma::rowvec &out_loc, const arma::mat &in_locs, double p)

明氏距离

参数
  • out_loc – 目标点坐标

  • in_locs – 数据点坐标

  • p – 次数

返回

arma::vec 目标点到数据点距离向量