类 MinkwoskiDistance

继承关系

基类

类文档

class MinkwoskiDistance : public gwm::CRSDistance

明氏距离

公有成员函数

inline MinkwoskiDistance()
MinkwoskiDistance(double p, double theta)

构造一个新的 MinkwoskiDistance 对象

参数:
  • p -- 次数

  • theta -- 旋转角度

MinkwoskiDistance(const MinkwoskiDistance &distance)

构造一个新的 MinkwoskiDistance 对象

参数:

distance -- 要拷贝的 MinkwoskiDistance 对象

inline virtual std::unique_ptr<Distance> clone() const 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 目标点到数据点距离向量