Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::tanh(std::valarray)

      From cppreference.com
      <cpp‎ |numeric‎ |valarray
       
       
       
      std::valarray
      Member functions
      Non-member functions
      Helper classes
      Deduction guides(C++17)
       
      Defined in header<valarray>
      template<class T>
      valarray<T> tanh(const valarray<T>& va);

      For each element inva computes hyperbolic tangent of the value of the element.

      Contents

      [edit]Parameters

      va - value array to apply the operation to

      [edit]Return value

      Value array containing hyperbolic tangent of the values inva.

      [edit]Notes

      Unqualified function (tanh) is used to perform the computation. If such function is not available,std::tanh is used due toargument-dependent lookup.

      The function can be implemented with the return type different fromstd::valarray. In this case, the replacement type has the following properties:

      [edit]Possible implementation

      template<class T>valarray<T> tanh(const valarray<T>& va){    valarray<T> other= va;for(T& i: other)        i= tanh(i); return other;// proxy object may be returned}

      [edit]Example

      Run this code
      #include <cmath>#include <iostream>#include <valarray> auto show=[](charconst* title,conststd::valarray<double>& va){std::cout<< title<<" :";for(auto x: va)std::cout<<"  "<<std::fixed<< x;std::cout<<'\n';}; int main(){conststd::valarray<double> x={.0,.1,.2,.3};conststd::valarray<double> sinh=std::sinh(x);conststd::valarray<double> cosh=std::cosh(x);conststd::valarray<double> tanh=std::tanh(x);conststd::valarray<double> tanh_by_def= sinh/ cosh;conststd::valarray<double> tanh_2x=std::tanh(2.0* x);conststd::valarray<double> tanh_2x_by_def=(2.0* tanh)/(1.0+std::pow(tanh,2.0));     show("x              ", x);    show("tanh(x)        ", tanh);    show("tanh(x) (def)  ", tanh_by_def);    show("tanh(2*x)      ", tanh_2x);    show("tanh(2*x) (def)", tanh_2x_by_def);}

      Output:

      x               :  0.000000  0.100000  0.200000  0.300000tanh(x)         :  0.000000  0.099668  0.197375  0.291313tanh(x) (def)   :  0.000000  0.099668  0.197375  0.291313tanh(2*x)       :  0.000000  0.197375  0.379949  0.537050tanh(2*x) (def) :  0.000000  0.197375  0.379949  0.537050

      [edit]See also

      applies the functionstd::sinh to each element of valarray
      (function template)[edit]
      applies the functionstd::cosh to each element of valarray
      (function template)[edit]
      (C++11)(C++11)
      computes hyperbolic tangent (\({\small\tanh{x}}\)tanh(x))
      (function)[edit]
      computes hyperbolic tangent of a complex number (\({\small\tanh{z}}\)tanh(z))
      (function template)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/numeric/valarray/tanh&oldid=160832"

      [8]ページ先頭

      ©2009-2025 Movatter.jp