코딩하는 해맑은 거북이
[Python] Sympy 라이브러리, 심볼 생성 및 방정식 정의, 방정식 풀기 본문
해당 글은 아래의 4가지를 다룬다.
📌 Sympy 란?
📌 Symbol 생성
📌 방정식(표현식) 정의
📌 방정식(표현식) 풀기
📌 Sympy 란?
Sympy는 파이썬에서 기호 수학(Symbolic Math)을 위한 라이브러리로 대수식, 미적분, 대수 방정식 등 다양한 수학적 작업을 처리할 수 있다. 또한, 속도와 시각화 등에 필요한 확장 기능도 포함되어 있다.
📌 Symbol 생성
Symbol은 기호 변수(Symbolic Variable)를 의미하고, 기호 변수는 심볼릭 연산을 수행할 수 있는 변수로 취급된다.
심볼을 생성하는 방법은 2가지가 있다.
1) 여러 개의 심볼을 생성하는 방법
from sympy import symbols
# 여러 개의 심볼 생성
x, y = symbols('x y')
2) 하나의 심볼을 생성하는 방법
from sympy import Symbol
# 하나의 심볼 생성
z = Symbol('z')
📌 방정식(표현식) 정의
방정식을 생성하는 방법은 Eq(좌변, 우변) 클래스로 생성하거나, 우변이 0 이라면 바로 방정식을 선언해줄 수 있다.
from sympy import Eq
equation1 = Eq(2*x+4, 0) # 2x+4 = 0
equation2 = Eq(3*x+y, 2) # 3x+y = 2
equation3 = Eq(x-2*y, 3) # x-2y = 3
equation4 = z+1 # z+1 = 0
📌 방정식(표현식) 풀기
방정식을 푸는 방법은 solve 함수를 통해 풀 수 있다.
solve(방정식, 구하고자 하는 변수)로 선언할 수 있고, 구하고자 하는 변수를 생략할 수도 있다.
from sympy import solve
solution = solve(equation1, x)
solution
[-2]
solution = solve(equation1)
solution
[-2]
solution = solve(equation2, x)
solution
[2/3 - y/3]
solution = solve(equation2, y)
solution
[2 - 3*x]
solution = solve(equation2)
solution
[{x: 2/3 - y/3}]
- 연립방정식은 소괄호를 통해 넣어줄 수 있다.
solution = solve((equation2, equation3))
solution
{x: 1, y: -1}
solution = solve((equation2, equation3), (x, y))
solution
{x: 1, y: -1}
solution = solve((equation2, equation3), (x, y), dict=True)
solution
[{x: 1, y: -1}]
solution = solve(equation4, z)
solution
[-1]
solution = solve(equation4)
solution
[-1]
'Python > 기본' 카테고리의 다른 글
[Python] math 라이브러리 주요 함수 (0) | 2023.06.15 |
---|---|
[Python] for if-else 한줄로 작성하는 방법 (0) | 2023.06.14 |
[Python] 리스트 순서고려 여부에 따른 중복 제거 방법 (0) | 2023.02.02 |
[Python] Counter 클래스 정렬 방법 (0) | 2023.01.20 |
[Python] 순열(Permutation)과 조합(Combination) (0) | 2023.01.05 |
Comments