Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/124.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何计算c+中f(net)=tanh(net)的导数+;_C++_Neural Network_Trigonometry_Complex Numbers - Fatal编程技术网

C++ 如何计算c+中f(net)=tanh(net)的导数+;

C++ 如何计算c+中f(net)=tanh(net)的导数+;,c++,neural-network,trigonometry,complex-numbers,C++,Neural Network,Trigonometry,Complex Numbers,我需要使用Levenberg-Marquardt算法实现一个多层感知器。为了找到激活函数的斜率(tanh),需要计算tanhx=sec^2 hx haas的导数。C++中是否有库函数来计算SEC^ 2 HX? 提前谢谢 #包括 #include <cmath> inline double sec_sq(double x) { double cosx = std::cos(x); return 1.0 / (cosx*cosx); } 内联双平方英尺(双x){ 双余弦

我需要使用Levenberg-Marquardt算法实现一个多层感知器。为了找到激活函数的斜率(tanh),需要计算tanhx=sec^2 hx haas的导数。C++中是否有库函数来计算SEC^ 2 HX? 提前谢谢

#包括
#include <cmath>
inline double sec_sq(double x) {
    double cosx = std::cos(x);
    return 1.0 / (cosx*cosx);
}
内联双平方英尺(双x){ 双余弦=std::cos(x); 返回1.0/(cosx*cosx); }
#包括
内联双平方英尺(双x){
双余弦=std::cos(x);
返回1.0/(cosx*cosx);
}

标准库提供双曲正弦、余弦和切线函数;其他双曲函数可从以下公式中推导:

#include <cmath>

double sech2(double x) {
    double sh = 1.0 / std::cosh(x);   // sech(x) == 1/cosh(x)
    return sh*sh;                     // sech^2(x)
}
#包括
双sech2(双x){
double sh=1.0/std::cosh(x);//sech(x)==1/cosh(x)
返回sh*sh;//秒^2(x)
}

标准库提供双曲正弦、余弦和切线函数;其他双曲函数可从以下公式中推导:

#include <cmath>

double sech2(double x) {
    double sh = 1.0 / std::cosh(x);   // sech(x) == 1/cosh(x)
    return sh*sh;                     // sech^2(x)
}
#包括
双sech2(双x){
double sh=1.0/std::cosh(x);//sech(x)==1/cosh(x)
返回sh*sh;//秒^2(x)
}

对于那些由谷歌领导的人。。。使用tanh(x)而不是cosh(x)会更安全,以避免溢出

#include <cmath>
double sech2(const double x) {
    double th = tanh(x); // tanh(x) \in (-1,1); cosh(x) \in (1,inf)
    return 1.0 - th*th; // sech^2(x) = 1 - tanh^2(x)
}
#包括
双sech2(常数双x){
double th=tanh(x);//tanh(x)\in(-1,1);cosh(x)\in(1,inf)
返回1.0-th*th;//秒^2(x)=1-tanh^2(x)
}

对于那些由谷歌领导的人。。。使用tanh(x)而不是cosh(x)会更安全,以避免溢出

#include <cmath>
double sech2(const double x) {
    double th = tanh(x); // tanh(x) \in (-1,1); cosh(x) \in (1,inf)
    return 1.0 - th*th; // sech^2(x) = 1 - tanh^2(x)
}
#包括
双sech2(常数双x){
double th=tanh(x);//tanh(x)\in(-1,1);cosh(x)\in(1,inf)
返回1.0-th*th;//秒^2(x)=1-tanh^2(x)
}