Функция библиотеки C -sinh()

Стандартная библиотека C - <math.h>

Описание

Функции библиотеки Cdouble sinh(double x)возвращаетxгиперболический синус от.

sinh()является стандартной библиотекой C<math.h>Функция, используемая для вычисления гиперболического синуса числа. Функция гиперболического синуса (sinh) широко применяется во многих математических, физических и инженерных областях.

Определение функции гиперболического синуса:

Объявление

Ниже приведено объявление функции sinh().

#include <math.h>

double sinh(double x);
float sinhf(float x);
long double sinhl(long double x);

Параметр

  • x-- входное вещественное число, представляющее аргумент функции гиперболического синуса.

Возвращаемое значение

Эта функция возвращает гиперболический синус x.

Пример

Следующий пример демонстрирует использование функции sinh().

Пример

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

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

   ret = sinh(x);
   printf("Гиперболический синус %lf равен %lf градусов", x, ret);
   
   return(0);
}

Давайте скомпилируем и запустим вышеуказанную программу, это даст следующий результат:

0.500000 的双曲正弦是 0.521095 度

Вычислить гиперболический синус для нескольких значений

Следующий пример демонстрирует, как вычислить гиперболический синус для нескольких значений:

Пример

#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 = sinh(x);
        printf("sinh(%f) = %f\n", x, result);
    }

    return 0;
}

Пояснение кода

  • Определите массив, содержащий несколько значенийvalues。
  • ИспользованиеforПеребрать каждое значение, вычислить значение гиперболического синуса и вывести результат.

Давайте скомпилируем и запустим вышеуказанную программу, это даст следующий результат:

sinh(0.000000) = 0.000000
sinh(0.500000) = 0.521095
sinh(1.000000) = 1.175201
sinh(1.500000) = 2.129279
sinh(2.000000) = 3.626860

Обработка ошибок

sinh()Когда входное значение слишком велико, функция может вызвать переполнение. В этом случае функция возвращает положительную бесконечность или отрицательную бесконечность, иerrnoУстановить вERANGE. Можно использоватьerrnoчтобы проверить, произошла ли ошибка переполнения.

В следующем примере показано, как обрабатывать ошибки переполнения:

Пример

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

int main() {
    double x = 1000.0;
    errno = 0;  // Сбросить errno
    double result = sinh(x);

    if (errno == ERANGE) {
        printf("Ошибка переполнения: результат sinh(%f) вне диапазона.\n", x);
    } else {
        printf("sinh(%f) = %f\n", x, result);
    }

    return 0;
}

Пояснение кода

  • Код пытается вычислитьsinh(1000.0), это входное значение, которое может вызвать переполнение.
  • errnoсбрасывается в 0, а затем вызываетсяsinh(x)。
  • ПроверяетerrnoРавно ли оноERANGE, если так, выведите сообщение об ошибке переполнения.
  • Если ошибок нет, выведите результат вычисления.

Давайте скомпилируем и запустим вышеуказанную программу, это даст следующий результат:

sinh(1000.000000) = inf

Итог

sinh()Функция используется для вычисления гиперболического синуса заданного значения и является важным инструментом для работы с гиперболическими функциями. При её использовании следует обращать внимание на возможные ошибки переполнения. При разумном использованииsinh()функция может получать точные результаты в математических вычислениях, физическом моделировании и инженерных приложениях.

Стандартная библиотека C - <math.h>

Другие расширения