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;
|
a[0] = 0;
|
||||||
b[0] = 1.5;
|
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;
|
double t, sum = 0;
|
||||||
for (size_t i = 0; i < y.size(); i++)
|
for (size_t i = 0; i < y.size(); i++)
|
||||||
|
@ -236,9 +236,8 @@ void gctl::kde2d::get_distribution(const array<double> &mx,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
void gctl::kde2d::get_gradient_x_at(size_t mx_id, size_t my_id,
|
void gctl::kde2d::get_gradient_x_at(size_t m_id, const array<double> &mx,
|
||||||
const array<double> &mx, const array<double> &my,
|
const array<double> &my, array<double> &dmx, kde_kernel_e k_type)
|
||||||
array<double> &dmx, kde_kernel_e k_type)
|
|
||||||
{
|
{
|
||||||
if (mx.size() != my.size()) throw std::runtime_error("[gctl::kde2d] Invalid evaluating size.");;
|
if (mx.size() != my.size()) throw std::runtime_error("[gctl::kde2d] Invalid evaluating size.");;
|
||||||
int ms = mx.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++)
|
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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
void gctl::kde2d::get_gradient_y_at(size_t mx_id, size_t my_id,
|
void gctl::kde2d::get_gradient_y_at(size_t m_id, const array<double> &mx,
|
||||||
const array<double> &mx, const array<double> &my,
|
const array<double> &my, array<double> &dmy, kde_kernel_e k_type)
|
||||||
array<double> &dmy, kde_kernel_e k_type)
|
|
||||||
{
|
{
|
||||||
if (mx.size() != my.size()) throw std::runtime_error("[gctl::kde2d] Invalid evaluating size.");;
|
if (mx.size() != my.size()) throw std::runtime_error("[gctl::kde2d] Invalid evaluating size.");;
|
||||||
int ms = mx.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++)
|
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
|
* @brief Get the gradient at object
|
||||||
*
|
*
|
||||||
* @param mx_id
|
* @param m_id
|
||||||
* @param my_id
|
|
||||||
* @param mx
|
* @param mx
|
||||||
* @param my
|
* @param my
|
||||||
* @param dmx
|
* @param dmx
|
||||||
* @param k_type
|
* @param k_type
|
||||||
*/
|
*/
|
||||||
void get_gradient_x_at(size_t mx_id, size_t my_id,
|
void get_gradient_x_at(size_t m_id, const array<double> &mx,
|
||||||
const array<double> &mx, const array<double> &my,
|
const array<double> &my, array<double> &dmx, kde_kernel_e k_type = KDE_Gaussian);
|
||||||
array<double> &dmx, kde_kernel_e k_type = KDE_Gaussian);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Get the gradient y at object
|
* @brief Get the gradient y at object
|
||||||
*
|
*
|
||||||
* @param mx_id
|
* @param m_id
|
||||||
* @param my_id
|
|
||||||
* @param mx
|
* @param mx
|
||||||
* @param my
|
* @param my
|
||||||
* @param dmy
|
* @param dmy
|
||||||
* @param k_type
|
* @param k_type
|
||||||
*/
|
*/
|
||||||
void get_gradient_y_at(size_t mx_id, size_t my_id,
|
void get_gradient_y_at(size_t m_id, const array<double> &mx,
|
||||||
const array<double> &mx, const array<double> &my,
|
const array<double> &my, array<double> &dmy, kde_kernel_e k_type = KDE_Gaussian);
|
||||||
array<double> &dmy, kde_kernel_e k_type = KDE_Gaussian);
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
size_t xs_, ys_;
|
size_t xs_, ys_;
|
||||||
|
Loading…
Reference in New Issue
Block a user