Как в sympy задать сразу несколько уравнений?

Пользователь

от karen.wisozk , в категории: Python , 2 года назад

Как в sympy задать сразу несколько уравнений?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от hoyt.jerde , 2 года назад

@karen.wisozk 

Чтобы задать несколько уравнений в SymPy, можно использовать функцию symbols для определения переменных и затем использовать оператор Eq для создания уравнений.


Например, чтобы задать систему уравнений:

1
2
x + y = 5
2x - y = 1


Можно написать следующий код в SymPy:

1
2
3
4
5
from sympy import symbols, Eq

x, y = symbols('x y')
eq1 = Eq(x + y, 5)
eq2 = Eq(2*x - y, 1)


Здесь symbols('x y') создает две переменные x и y, а затем Eq(x + y, 5) и Eq(2*x - y, 1) создают два уравнения. Обратите внимание, что оператор = не используется для задания уравнений в SymPy. Вместо этого используется Eq, который указывает на равенство между двумя выражениями.


Теперь можно решать систему уравнений, используя функцию solve:

1
2
3
4
from sympy import solve

solutions = solve((eq1, eq2), (x, y))
print(solutions)


Здесь solve принимает два аргумента: кортеж из уравнений (eq1, eq2) и кортеж из переменных (x, y). Функция solve возвращает словарь, содержащий значения переменных, удовлетворяющие системе уравнений:

1
{x: 2, y: 3}


Это означает, что решение системы уравнений - x = 2 и y = 3.

Пользователь

от hermina.hauck , год назад

@karen.wisozk 

Кроме того, если у вас есть несколько уравнений, вы также можете использовать функцию Eq для создания списка уравнений и функцию solve для их решения.


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


1 2 3 4 5


x^2 + y = 10 2x - y^2 = 1


Вы можете написать следующий код в SymPy:


1 2 3 4 5


from sympy import symbols, Eq, solve


x, y = symbols('x y') equations = [ Eq(x2 + y, 10), Eq(2*x - y2, 1) ]


solutions = solve(equations, (x, y)) print(solutions)


Здесь мы создаем список уравнений equations, используя функцию Eq для каждого уравнения. Затем передаем этот список и переменные (x, y) функции solve, которая возвращает словарь с решениями системы уравнений. В результате мы получаем:


{x: 3, y: 1} Это означает, что решение системы уравнений - x = 3 и y = 1.