Как определить константы, которые умножаются на тригонометрические функции

#python #sympy

#python #симпатичный

Вопрос:

У меня есть уравнение w , которое содержит некоторые тригонометрические функции, умноженные на константы come. как выразить эту функцию в Python. Я получаю сообщение об ошибке, в котором говорится, что a1...a4 и b не определены. Я знаю, что это не определено, но я заинтересован в решении для этих констант для заданного значения b для набора условий for на w

 import sympy as sy
import numpy as np 
import math as ma
import matplotlib.pyplot as plt

w=a1*sin(b*x) a2*cos(b*x) a3*sinh(b*x) a4*cosh(b*x)
  

Комментарии:

1. Вы отметили вопрос с помощью символьной математики , поэтому я думаю, что это задача для sympy .

2. вы говорите, что я не импортировал пакет sympy?

3. Взгляните на sympy.symbols .

4. Код показывает импорт для большого количества пакетов, но фактически не использует их. Это фактический код, который вы используете? Вы читали о том, как на самом деле использовать эти пакеты, например, символы sympy ?

Ответ №1:

Чтобы сделать это с помощью sympy, вам нужно сначала импортировать функции sympy и определить символы:

 In [2]: from sympy import sin, cos, sinh, cosh, symbols                                                                                        

In [3]: a1, a2, a3, a4, b = symbols('a1:5, b')                                                                                                 

In [4]: w=a1*sin(b*x) a2*cos(b*x) a3*sinh(b*x) a4*cosh(b*x)                                                                                    

In [5]: w                                                                                                                                      
Out[5]: a₁⋅sin(b⋅x)   a₂⋅cos(b⋅x)   a₃⋅sinh(b⋅x)   a₄⋅cosh(b⋅x)
  

Я рекомендую ознакомиться с руководством sympy:
https://docs.sympy.org/latest/tutorial/index.html

Комментарии:

1. Где / как определяется имя x ? Есть ли какая-то sympy магия, которая автоматически вводит ее в глобальные модули модуля?

2. Ах, я понял: вы используете isympy , который предопределяет x (и некоторые другие вещи).

3. Спасибо, что указали на эту отметку. Да, я должен был включить x = Symbol('x') . Я ввел импорт (они не нужны в isympy), но я забыл символ x!