Функция синуса в C
В математике функция синуса входит в число трех основных функций, в число других входят косинус и тангенс. Методы выполнения основных математических операций, таких как элементарные экспоненциальные, логарифмические, квадратный корень и математические операции, включены в заголовок
Вы можете использовать закон синусов, чтобы найти любой угол в треугольнике, а также длину определенной стороны треугольника. Это фундаментальное тригонометрическое понятие. Функция sin используется в версиях языка C ANSI/ISO 9899-1990. Sin() возвращает результат в диапазоне от 1 до -1.
Теперь давайте начнем с нескольких примеров функции sin() на языке программирования C.
Предварительные условия
- Установка компилятора GCC в Windows/Linux
Примечание. Мы используем компилятор GCC в Windows 10.
Пример 1
В нашем первом примере мы собираемся использовать функцию sin() в нашей программе. Первоначально вам нужно открыть компилятор GCC и создать новый файл с любым требуемым именем. После этого вставьте в него последующий код.
Мы добавили несколько библиотек:
После того, как вы нажмете на эту опцию, на вашем экране появится черный экран с названием «Консоль». Вы получите следующий фиксированный вывод, как показано на приложенном ниже снимке экрана.
Пример 2
Во втором примере мы будем использовать функцию sin() в нашей программе несколько сложным образом. Первоначально вам нужно открыть компилятор GCC и создать новый файл с любым требуемым именем. Можно также использовать предыдущий файл. После этого вставьте в него последующий код.
Мы добавили несколько библиотек: Теперь все готово для выполнения программы. В строке меню компилятора GCC вы должны нажать на опцию «Скомпилировать и запустить», чтобы получить результат. Эта опция присутствует в меню «Build».
После того, как вы нажмете на эту опцию, на вашем экране появится черный экран с названием «Консоль». Вы получите следующий фиксированный вывод, как показано на приложенном ниже снимке экрана.
Пример 3
В нашем третьем и последнем примере мы будем использовать функцию sin() в нашей программе немного по-другому. Этот пользователь должен ввести число во время выполнения, чтобы вычислить значение sin(). Первоначально вам нужно открыть компилятор GCC и создать новый файл с любым требуемым именем. Можно также использовать предыдущий файл. После этого вставьте в него последующий код.
Мы добавили несколько библиотек Мы использовали функции printf() и scanf(). После этого мы вычислим sin() значения, введенного пользователем, и отобразим его результат.
Теперь мы готовы выполнить программу. В строке меню компилятора GCC вы должны нажать на опцию «Скомпилировать и запустить», чтобы получить результат. Эта опция присутствует в меню «Build». После того, как вы нажмете на эту опцию, на вашем экране появится черный экран с названием «Консоль». Вы получите следующий фиксированный вывод, как показано на приложенном ниже снимке экрана 9.0003
Как видите, мы ввели число «19» и получили его результат. Номер может быть выбран в соответствии с вашими потребностями.
Заключение
В этой статье представлено краткое введение в функцию sin() в языке программирования C. Мы подробно рассмотрели три разных примера для понимания пользователем. Все примеры различны по реализации. Теперь я надеюсь, что всякий раз, когда вы будете пытаться реализовать эти примеры в своей системе, вы сможете легко понять основную концепцию функции sin() в языке программирования C.
Вызов тригонометрических функций в разных языках программирования
Языки программирования непоследовательны в поддержке триггерных функций и непоследовательны в именах, которые они используют для поддерживаемых функций. Несколько раз меня это раздражало и говорило, что я должен когда-нибудь сделать сравнительную таблицу, и сегодня я, наконец, сделал это.
Вот таблица. Столбец C также обозначает такие языки, как Python, которые следуют соглашениям C. Подробнее об этом ниже.
Таблица выше представляет собой изображение в формате PNG. HTML-версия той же таблицы доступна здесь.
В остальной части поста обсуждаются детали и шаблоны в таблице.
Введение
В соответствии с наиболее распространенным соглашением существует шесть триггерных функций: синус, косинус, тангенс, секанс, косеканс и котангенс. Ваш список может быть длиннее или короче, в зависимости от того, как вы их считаете. Эти шесть функций имеют инверсию (в некотором диапазоне), поэтому математическая библиотека может иметь 12 триггерных функций, включая инверсию.
За исключением морщинки с арктангенсом. Для любого заданного t существует бесконечно много углов θ, тангенс которых равен t . Какую ты хочешь? По соглашению мы обычно хотим θ между -π/2 и π/2. Но бывает удобно указать точку ( x , y ) и запросить угол, который образует линия от начала координат до точки. В этом случае мы получаем значение θ в том же квадранте , что и точка. Итак, если х / х = z , форма арктангенса с одним аргументом зависит только от z , но с двумя аргументами зависит как от x , так и от y ; две точки с равными отношениями могут привести к различному выбору θ.
Таким образом, с нашими двумя версиями арктангенса мы имеем в общей сложности 13 функций. В этом посте объясняется, какие из этих 13 функций поддерживаются в C, Python, R, Perl, Mathematica, bc и Common Lisp, и как называются поддерживаемые функции.
Математика
Из рассмотренных языков только Mathematica реализует все 13 функций. Названия шести основных функций такие же, как в современных учебниках по математическому анализу, за исключением того, что, как и все функции в системе Mathematica, имена начинаются с заглавной буквы.
Итак, шесть триггерных функций: Sin
, Cos
, Tan
, Sec
, Csc
и Cot
. Обратные функции аналогичны префиксу Arc
: ArcSin
, ArcCos
и т. д.
Обе функции арктангенса называются ArcTan
. С одним аргументом ArcTan[z]
возвращает угол θ между -π/2 и π/2, такой что tan θ = z . С двумя аргументами ArcTan[x, y]
возвращает угол θ в том же квадранте, что и ( x , y ) с тангенсом θ = y / x .
C, Python и R
Python и R следуют примеру C, как и другие языки программирования, такие как JavaScript.
C не поддерживает sec, csc и cot, предположительно потому, что они являются просто обратными значениями cos, sin и tan соответственно. Он также не поддерживает их инверсии.
Обратные триггерные функции обозначаются префиксом и
: asin
, acos
, atan
. Форма арктангенса с двумя аргументами: atan2
. Порядок аргументов atan2
отличается от порядка в Mathematica и обсуждается ниже в разделе, посвященном Common Lisp.
NumPy
NumPy поддерживает те же триггерные функции, что и базовый Python, но использует другие имена для обратных функций. That is, NumPy uses arcsin
, arccos
, arctan
, and arctan2
while Python’s standard math
module uses asin
, acos
, atan
, and atan2
.
Common Lisp
Common Lisp такой же, как C, за исключением функции арктангенса двух аргументов. Здесь CL похожа на Mathematica тем, что одно и то же имя используется для функции одного аргумента и функции двух аргументов.
Однако порядок аргументов в CL обратный по сравнению с Mathematica. То есть (atan y x)
в CL равно ArcTan[x, y]
в Mathematica.
Несмотря на то, что в этих двух языках используются противоположные соглашения, для обоих есть веские причины. Mathematica интерпретирует аргументы ArcTan[x, y]
как координаты точки, записанные в обычном порядке. Common Lisp интерпретирует (atan y x)
как функцию, второй аргумент которой по умолчанию равен 1.
Mathematica имеет то преимущество, что координаты точки перечислены в естественном порядке. Common Lisp имеет то преимущество, что значение первого аргумента не меняется, если вы добавляете второй аргумент.
C и такие языки, как Python и R, которые следуют за C, используют то же соглашение, что и Common Lisp, то есть первый аргумент для atan2
является второй координатой точки.
Perl
Базовый язык Perl поддерживает только три триггерные функции: синус, косинус и арктангенс с двумя аргументами. Модуль
Math::Trig
поддерживает все остальное, включая обратные функции и их обратные функции.
Интересно, что Perl сделал тот выбор, который он сделал. Существуют языки, такие как bc
, обсуждаемые ниже, которые поддерживают арктангенс с одним аргументом, но не с двумя; Perl — единственный известный мне язык, который делает обратное, поддерживая арктангенс с двумя аргументами, но не с одним. Имеет смысл, что если вы собираетесь поддерживать только один, вы поддерживаете более общий из двух.
Perl-функция atan2
использует то же соглашение об аргументах, что и C et al., то есть atan2(y, x), сначала числитель.
В модуле Math::Trig
взаимные триггерные функции называются sec
, csc
и cot
, что сейчас является стандартом. (Вы можете встретить такие вещи, как cosec и ctn, в старых учебниках по математике.) Обратные функции имеют префикс a
, как и в C.