tmp update
This commit is contained in:
parent
c2832c3104
commit
c95b20255a
@ -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++)
|
||||
|
@ -236,9 +236,8 @@ void gctl::kde2d::get_distribution(const array<double> &mx,
|
||||
return;
|
||||
}
|
||||
|
||||
void gctl::kde2d::get_gradient_x_at(size_t mx_id, size_t my_id,
|
||||
const array<double> &mx, const array<double> &my,
|
||||
array<double> &dmx, kde_kernel_e k_type)
|
||||
void gctl::kde2d::get_gradient_x_at(size_t m_id, const array<double> &mx,
|
||||
const array<double> &my, array<double> &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<double> &mx, const array<double> &my,
|
||||
array<double> &dmy, kde_kernel_e k_type)
|
||||
void gctl::kde2d::get_gradient_y_at(size_t m_id, const array<double> &mx,
|
||||
const array<double> &my, array<double> &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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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<double> &mx, const array<double> &my,
|
||||
array<double> &dmx, kde_kernel_e k_type = KDE_Gaussian);
|
||||
void get_gradient_x_at(size_t m_id, const array<double> &mx,
|
||||
const array<double> &my, array<double> &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<double> &mx, const array<double> &my,
|
||||
array<double> &dmy, kde_kernel_e k_type = KDE_Gaussian);
|
||||
void get_gradient_y_at(size_t m_id, const array<double> &mx,
|
||||
const array<double> &my, array<double> &dmy, kde_kernel_e k_type = KDE_Gaussian);
|
||||
|
||||
private:
|
||||
size_t xs_, ys_;
|
||||
|
Loading…
Reference in New Issue
Block a user