Перейти к содержимому

Как решить тригонометрическое уравнение в python

  • автор:

Тригонометрические функции модуля math

Функция math.sin() возвращает синус угла x значение которого задано в радианах.

>>> from math import * >>> sin(pi/2) # 1.0 >>> sin(pi/4) # 0.7071067811865475) 
math.cos(x) :

Функция math.cos() возвращает косинус угла x значение которого задано в радианах.

>>> from math import * >>> cos(pi/3) # 0.5000000000000001 >>> cos(pi) # -1.0 
math.tan(x) :

Функция math.tan() возвращает тангенс угла x значение которого задано в радианах.

>>>from math import * >>> tan(pi/3) # 1.7320508075688767 >>> tan(pi/4) # 0.9999999999999999 

При определенных значениях углов тангенс должен быть равен либо −∞ либо +∞ , скажем tan(3π/2)=+∞ , a tan(−π/2)=−∞ , но вместо этого мы получаем либо очень большие либо очень маленькие значения типа float :

>>> tan(-pi/2) # -1.633123935319537e+16 >>> tan(3*pi/2) # должно быть Inf, но # 5443746451065123.0 
math.asin(x) :

Функция math.asin() возвращает арксинус значения x , т. е. такое значение угла y , выраженного в радианах при котором sin(y) = x .

>>> from math import * >>> asin(sin(pi/6)) # 0.5235987755982988 >>> pi/6 # 0.5235987755982988 
math.acos(x) :

Функция math.acos() возвращает арккосинус значения x , т. е. возвращает такое значение угла y , выраженного в радианах, при котором cos(y) = x .

>>> from math import * >>> acos(cos(pi/6)) 0.5235987755982987 >>> pi/6 0.5235987755982988 
math.atan(x) :

Функция math.atan() возвращает арктангенс значения x , т. е. возвращает такое значение угла y , выраженного в радианах, при котором tan(y) = x .

>>> from math import * >>> atan(tan(pi/6)) # 0.5235987755982988 >>> pi/6 # 0.5235987755982988 
math.atan2(y, x) :

Функция math.atan2() возвращает арктангенс значения y/x , т. е. возвращает такое значение угла z , выраженного в радианах, при котором tan(z) = x . Результат находится между -pi и pi .

>>> from math import * >>> y = 1 >>> x = 2 >>> atan2(y, x) # 0.4636476090008061 >>> atan(y/x) # 0.4636476090008061 >>> tan(0.4636476090008061) # 0.49999999999999994 

Данная функция, в отличие от функции math.atan() , способна вычислить правильный квадрант в котором должно находиться значение результата. Это возможно благодаря тому, что функция принимает два аргумента (x, y) координаты точки, которая является концом отрезка начатого в начале координат. Сам по себе, угол между этим отрезком и положительным направлением оси X не несет информации о том где располагается конец этого отрезка, что приводит к одинаковому значению арктангенса, для разных отрезков, но функция math.atan2() позволяет избежать этого, что бывает очень важно в целом ряде задач. Например, atan(1) и atan2(1, 1) оба имеют значение pi/4, но atan2(-1, -1) равно -3 * pi / 4 .

math.hypot(*coordinates) :

Функция math.hypot() возвращает евклидову норму, sqrt(sum(x**2 for x in coordinates)) . Это длина вектора от начала координат до точки, заданной координатами.

Для двумерной точки (x, y) это эквивалентно вычислению гипотенузы прямоугольного треугольника с использованием теоремы Пифагора sqrt(x*x + y*y) .

Изменено в Python 3.8: Добавлена ​​поддержка n-мерных точек. Раньше поддерживался только двумерный случай.

  • ОБЗОРНАЯ СТРАНИЦА РАЗДЕЛА
  • Функции теории чисел модуля math
  • Функции округления чисел модуля math
  • Степенные и логарифмические функции
  • Тригонометрические функции модуля math
  • Функции преобразование меры углов модуля math
  • Гиперболические функции модуля math
  • Константы и специальные значения модуля math
  • Специальные функции модуля math

Python-сообщество

[RSS Feed]

  • Начало
  • » Центр помощи
  • » Тригонометрические уравнения

#1 Фев. 21, 2021 14:41:18

Vasya343 Зарегистрирован: 2021-02-21 Сообщения: 8 Репутация: 0 Профиль Отправить e-mail

Тригонометрические уравнения

Здравствуйте. Прошу помощи. Есть задание по теме “Программирование линейных вычислительных процессов” следующего содержания:

“Напишите программу для расчета значений переменных y и z по заданным формулам. В программе предусмотреть ввод исходных данных с клавиатуры.
Вывести полученные значения на экран. Каждое значение должно быть выведено в отдельной строке”

К моему стыду, я в тригонометрии, как и математике, несилен. У меня больше вопрос не к самому программированию, сколько к пониманию того, что от меня хотят, в решении самих уравнений. Подскажите, пожалуйста, как мне решить данную задачу? Нужно вместо “альфа” указать градусы, а затем по данным формулам программа должна произвести вычисления и вывести результат?

Не нашел правил форума, залил картинку на удобный для меня ресурс.

Отредактировано Vasya343 (Фев. 21, 2021 14:46:51)

#2 Фев. 21, 2021 16:32:34

py.user.next От: Зарегистрирован: 2010-04-29 Сообщения: 9629 Репутация: 839 Профиль Отправить e-mail

Тригонометрические уравнения

Сами выражения оформляешь в виде функций:

>>> import math >>> >>> def fy(alpha): . return (1 - 2 * math.sin(alpha) ** 2) / (1 + math.sin(2 * alpha)) . >>> def fz(alpha): . return (1 - math.tan(alpha)) / (1 + math.tan(alpha)) . >>> y = fy(30) >>> z = fz(30) >>> >>> y -1.3700050796592993 >>> z -1.370005079659299 >>> 

Потом делаешь ввод, вычисление, вывод:

>>> import math >>> >>> def fy(alpha): . return (1 - 2 * math.sin(alpha) ** 2) / (1 + math.sin(2 * alpha)) . >>> def fz(alpha): . return (1 - math.tan(alpha)) / (1 + math.tan(alpha)) . >>> def process(): . angle = float(input('Input angle (degrees): ')) . y = fy(angle) . z = fz(angle) . print('y =', y) . print('z =', z) . >>> process() Input angle (degrees): 30 y = -1.3700050796592993 z = -1.370005079659299 >>> 

#3 Фев. 21, 2021 18:28:02

Vasya343 Зарегистрирован: 2021-02-21 Сообщения: 8 Репутация: 0 Профиль Отправить e-mail

Тригонометрические уравнения

Спасибо за ответ. Я так понял, что нужно ввести значение альфа. Но во второй формуле рядом с тангенсом указан значок пропорциональности. Как быть? Я даже не представляю как его указать.

Решаем тригонометрические уравнения

Введите тригонометрическое уравнение с одной переменной (например, х). Используйте скобки, числа, знаки математических операций (+,-,*-умножить, /- делить, ^-степень) и тригонометрические функции. Скобки аргумента функции можно не вводить. Нажмите кнопку «Ok». Вы получите графическое решение (точки пересечения двух линий) и точное решение (если оно существует). Если уравнение введено не правильно, то будет сообщение об ошибке. cos (x)-косинус , sin(x)-синус, tan(x)-тангенс, cot(x)-котангенс, sec(x)-секанс, csc(x)-косеканс, ArcCos(x)-арккосинус, ArcSin(x)-арксинус, ArcTan(x)-арктангенс, ArcCot(x)-арккотангенс, ArcSec(x)-арксеканс, ArcCsc(x)-арккосеканс, cosh(x)-косинус гиперболический, sinh (x)-синус гиперболический, tanh(x)-тангенс гиперболический, coth(x)-котангенс гиперболический, sech(x)-секанс гиперболический, csch(x)-косеканс гиперболический, ArcCosh(x)-арккосинус гиперболический, ArcSinh(x)-арксинус гиперболический, ArcTanh(x), ArcCoth(x), ArcSech(x), ArcCsch(x).

2010-09-04 • Просмотров [ 6222 ]

Решение тригонометрического уравнения sympy

Знаете кого-то, кто может ответить? Поделитесь ссылкой на этот вопрос по почте, через Твиттер или Facebook.

  • python-3.5
  • sympy
    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.11.15.1019

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *