diff --git a/example/kde_ex.cpp b/example/kde_ex.cpp index fd37a20..423732b 100644 --- a/example/kde_ex.cpp +++ b/example/kde_ex.cpp @@ -86,7 +86,7 @@ int main(int argc, char const *argv[]) try a[0] = 0; b[0] = 1.5; - k.get_gradient_y_at(0, 0, a, b, d); + k.get_gradient_y_at(0, a, b, d); double t, sum = 0; for (size_t i = 0; i < y.size(); i++) diff --git a/lib/algorithm/kde.cpp b/lib/algorithm/kde.cpp index 655f9d8..349656f 100644 --- a/lib/algorithm/kde.cpp +++ b/lib/algorithm/kde.cpp @@ -236,9 +236,8 @@ void gctl::kde2d::get_distribution(const array &mx, return; } -void gctl::kde2d::get_gradient_x_at(size_t mx_id, size_t my_id, - const array &mx, const array &my, - array &dmx, kde_kernel_e k_type) +void gctl::kde2d::get_gradient_x_at(size_t m_id, const array &mx, + const array &my, array &dmx, kde_kernel_e k_type) { if (mx.size() != my.size()) throw std::runtime_error("[gctl::kde2d] Invalid evaluating size.");; int ms = mx.size(); @@ -251,16 +250,15 @@ void gctl::kde2d::get_gradient_x_at(size_t mx_id, size_t my_id, { for (size_t j = 0; j < xs_; j++) { - dmx[i*xs_ + j] = ((x_[j] - mx[mx_id])/hx_)*gaussian_kernel((x_[j] - mx[mx_id])/hx_, (y_[i] - my[my_id])/hy_)/(hx_*hx_*hy_*ms); + dmx[i*xs_ + j] = ((x_[j] - mx[m_id])/hx_)*gaussian_kernel((x_[j] - mx[m_id])/hx_, (y_[i] - my[m_id])/hy_)/(hx_*hx_*hy_*ms); } } } return; } -void gctl::kde2d::get_gradient_y_at(size_t mx_id, size_t my_id, - const array &mx, const array &my, - array &dmy, kde_kernel_e k_type) +void gctl::kde2d::get_gradient_y_at(size_t m_id, const array &mx, + const array &my, array &dmy, kde_kernel_e k_type) { if (mx.size() != my.size()) throw std::runtime_error("[gctl::kde2d] Invalid evaluating size.");; int ms = mx.size(); @@ -273,7 +271,7 @@ void gctl::kde2d::get_gradient_y_at(size_t mx_id, size_t my_id, { for (size_t j = 0; j < xs_; j++) { - dmy[i*xs_ + j] = ((y_[i] - my[my_id])/hy_)*gaussian_kernel((x_[j] - mx[mx_id])/hx_, (y_[i] - my[my_id])/hy_)/(hy_*hy_*hx_*ms); + dmy[i*xs_ + j] = ((y_[i] - my[m_id])/hy_)*gaussian_kernel((x_[j] - mx[m_id])/hx_, (y_[i] - my[m_id])/hy_)/(hy_*hy_*hx_*ms); } } } diff --git a/lib/algorithm/kde.h b/lib/algorithm/kde.h index 929c516..f0c1bf6 100644 --- a/lib/algorithm/kde.h +++ b/lib/algorithm/kde.h @@ -143,30 +143,26 @@ namespace gctl /** * @brief Get the gradient at object * - * @param mx_id - * @param my_id + * @param m_id * @param mx * @param my * @param dmx * @param k_type */ - void get_gradient_x_at(size_t mx_id, size_t my_id, - const array &mx, const array &my, - array &dmx, kde_kernel_e k_type = KDE_Gaussian); + void get_gradient_x_at(size_t m_id, const array &mx, + const array &my, array &dmx, kde_kernel_e k_type = KDE_Gaussian); /** * @brief Get the gradient y at object * - * @param mx_id - * @param my_id + * @param m_id * @param mx * @param my * @param dmy * @param k_type */ - void get_gradient_y_at(size_t mx_id, size_t my_id, - const array &mx, const array &my, - array &dmy, kde_kernel_e k_type = KDE_Gaussian); + void get_gradient_y_at(size_t m_id, const array &mx, + const array &my, array &dmy, kde_kernel_e k_type = KDE_Gaussian); private: size_t xs_, ys_;