当前位置: 首页>>代码示例>>C++>>正文


C++ AD::derivatives方法代码示例

本文整理汇总了C++中AD::derivatives方法的典型用法代码示例。如果您正苦于以下问题:C++ AD::derivatives方法的具体用法?C++ AD::derivatives怎么用?C++ AD::derivatives使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在AD的用法示例。


在下文中一共展示了AD::derivatives方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: test_autodiff_scalar

void test_autodiff_scalar()
{
    std::cerr << foo<float>(1,2) << "\n";
    typedef AutoDiffScalar<Vector2f> AD;
    AD ax(1,Vector2f::UnitX());
    AD ay(2,Vector2f::UnitY());
    AD res = foo<AD>(ax,ay);
    std::cerr << res.value() << " <> "
              << res.derivatives().transpose() << "\n\n";
}
开发者ID:logtcn,项目名称:eigen,代码行数:10,代码来源:autodiff.cpp

示例2: x

template<typename Scalar> void check_atan2()
{
  typedef Matrix<Scalar, 1, 1> Deriv1;
  typedef AutoDiffScalar<Deriv1> AD;
  
  AD x(internal::random<Scalar>(-3.0, 3.0), Deriv1::UnitX());
  
  using std::exp;
  Scalar r = exp(internal::random<Scalar>(-10, 10));
  
  AD s = sin(x), c = cos(x);
  AD res = atan2(r*s, r*c);
  
  VERIFY_IS_APPROX(res.value(), x.value());
  VERIFY_IS_APPROX(res.derivatives(), x.derivatives());

  res = atan2(r*s+0, r*c+0);
  VERIFY_IS_APPROX(res.value(), x.value());
  VERIFY_IS_APPROX(res.derivatives(), x.derivatives());
}
开发者ID:1k5,项目名称:eigen,代码行数:20,代码来源:autodiff_scalar.cpp

示例3: test_autodiff_vector

void test_autodiff_vector()
{
    std::cerr << foo<Vector2f>(Vector2f(1,2)) << "\n";
    typedef AutoDiffScalar<Vector2f> AD;
    typedef Matrix<AD,2,1> VectorAD;
    VectorAD p(AD(1),AD(-1));
    p.x().derivatives() = Vector2f::UnitX();
    p.y().derivatives() = Vector2f::UnitY();

    AD res = foo<VectorAD>(p);
    std::cerr << res.value() << " <> "
              << res.derivatives().transpose() << "\n\n";
}
开发者ID:logtcn,项目名称:eigen,代码行数:13,代码来源:autodiff.cpp


注:本文中的AD::derivatives方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。