欢迎您 本站地址:  

C 库函数 - tanh()

C 标准库 - <math.h> C 标准库 - <math.h>

描述

C 库函数 double tanh(double x) 返回 x 的双曲正切。

tan 是 C 标准库 <math.h> 中的一个函数,用于计算双曲正切值。双曲正切函数(tanh)在许多数学、物理和工程应用中有广泛的用途。

双曲正切函数的定义为:

声明

下面是 tanh() 函数的声明。

#include <math.h>

double tanh(double x);
float tanhf(float x);
long double tanhl(long double x);

参数

返回值

该函数返回 x 的双曲正切。结果的范围是 [-1, 1]。

实例

下面的实例演示了 tanh() 函数的用法。

实例

#include <stdio.h>
#include <math.h>

int main ()
{
   double x, ret;
   x = 0.5;

   ret = tanh(x);
   printf("%lf 的双曲正切是 %lf 度", x, ret);
   
   return(0);
}

让我们编译并运行上面的程序,这将产生以下结果:

0.500000 的双曲正切是 0.462117 度

计算多个值的双曲正切

以下示例展示了如何计算多个值的双曲正切:

实例

#include <stdio.h>
#include <math.h>

int main() {
    double values[] = {0, 0.5, 1, 1.5, 2};
    int num_values = sizeof(values) / sizeof(values[0]);

    for (int i = 0; i < num_values; i++) {
        double x = values[i];
        double result = tanh(x);
        printf("tanh(%f) = %f\n", x, result);
    }

    return 0;
}

代码解析

让我们编译并运行上面的程序,这将产生以下结果:

tanh(0.000000) = 0.000000
tanh(0.500000) = 0.462117
tanh(1.000000) = 0.761594
tanh(1.500000) = 0.905148
tanh(2.000000) = 0.964028

错误处理

tanh() 函数对于所有实数输入都是有效的,因此不需要特殊的错误处理。函数不会设置 errno,也不会返回 NaN,除非输入本身是 NaN。在这种情况下,返回的结果将是 NaN。

以下示例展示了如何处理特殊值(如 NaN 和无穷大):

实例

#include <stdio.h>
#include <math.h>

int main() {
    double values[] = {0, NAN, INFINITY, -INFINITY};
    int num_values = sizeof(values) / sizeof(values[0]);

    for (int i = 0; i < num_values; i++) {
        double x = values[i];
        double result = tanh(x);

        if (isnan(x)) {
            printf("tanh(NaN) = NaN\n");
        } else if (isinf(x)) {
            printf("tanh(%f) = %f\n", x, result);
        } else {
            printf("tanh(%f) = %f\n", x, result);
        }
    }

    return 0;
}

代码解析

让我们编译并运行上面的程序,这将产生以下结果:

tanh(0.000000) = 0.000000
tanh(NaN) = NaN
tanh(inf) = 1.000000
tanh(-inf) = -1.000000

总结

tanh() 函数用于计算给定值的双曲正切,是处理双曲函数运算的重要工具。通过合理使用 tanh() 函数,可以在数学计算、物理模拟和工程应用中得到准确的结果。

C 标准库 - <math.h> C 标准库 - <math.h>

小库提示

扫描下方二维码,访问手机版。