本文整理汇总了C++中Func::finiteGradient方法的典型用法代码示例。如果您正苦于以下问题:C++ Func::finiteGradient方法的具体用法?C++ Func::finiteGradient怎么用?C++ Func::finiteGradient使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Func
的用法示例。
在下文中一共展示了Func::finiteGradient方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: value
TEST(CentralDifference, Gradient){
// simple function y <- 3*a-b
class Func : public Problem<double> {
public:
double value(const Vector<double> &x) {
return 3*x[0]-x[1];
}
};
Vector<double> x0(2);
x0(0) = 0;
x0(1) = 0;
Func f;
Vector<double> grad(2);
// check from fast/bad to slower/better approximation of the gradient
for (int accuracy = 0; accuracy < 4; ++accuracy)
{
f.finiteGradient(x0, grad, accuracy);
EXPECT_NEAR(grad(0), 3, PRECISION);
EXPECT_NEAR(grad(1), -1, PRECISION);
}
}
示例2: value
TYPED_TEST(CentralDifference, Gradient){
// simple function y <- 3*a-b
class Func : public Problem<TypeParam, 2> {
public:
using typename Problem<TypeParam, 2>::TVector;
TypeParam value(const TVector &x) {
return 3*x[0]-x[1];
}
};
typename Func::TVector x0;
x0(0) = 0;
x0(1) = 0;
Func f;
typename Func::TVector grad;
// check from fast/bad to slower/better approximation of the gradient
for (int accuracy = 0; accuracy < 4; ++accuracy)
{
f.finiteGradient(x0, grad, accuracy);
EXPECT_NEAR(grad(0), 3, PRECISION);
EXPECT_NEAR(grad(1), -1, PRECISION);
}
}