本文整理汇总了C++中CppAD::pow方法的典型用法代码示例。如果您正苦于以下问题:C++ CppAD::pow方法的具体用法?C++ CppAD::pow怎么用?C++ CppAD::pow使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CppAD
的用法示例。
在下文中一共展示了CppAD::pow方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: PowInt
bool PowInt(void)
{ bool ok = true;
using CppAD::pow;
using CppAD::exp;
using CppAD::log;
using namespace CppAD;
// independent variable vector, indices, values, and declaration
CPPAD_TESTVECTOR(AD<double>) U(1);
U[0] = 2.;
Independent(U);
// dependent variable vector and indices
CPPAD_TESTVECTOR(AD<double>) Z(2);
// dependent variable values
Z[0] = pow(U[0], 5); // x = u^5
Z[1] = pow(U[0], -5); // y = u^{-5}
// create f: U -> Z and vectors used for derivative calculations
ADFun<double> f(U, Z);
CPPAD_TESTVECTOR(double) v( f.Domain() );
CPPAD_TESTVECTOR(double) w( f.Range() );
/*
x_u = 5 * u^4
y_u = - 5 * u^{-6}
*/
// check function values values
double u = Value(U[0]);
ok &= NearEqual(Z[0] , exp( log(u) * 5.), 1e-10 , 1e-10);
ok &= NearEqual(Z[1] , exp( - log(u) * 5.), 1e-10 , 1e-10);
// forward computation of partials
v[0] = 1.;
w = f.Forward(1, v);
ok &= NearEqual(w[0] , 5. * exp( log(u) * 4.), 1e-10 , 1e-10);
ok &= NearEqual(w[1] , - 5. * exp( - log(u) * 6.), 1e-10 , 1e-10);
return ok;
}