[python] 파이썬 sympy - 방정식 풀기

 파이썬과 sympy 패키지를 이용하여 방정식을 푸는 샘플 코드를 소개합니다. 풀고자 하는 방정식은 아래와 같습니다. 


아래는 코드입니다.


from sympy import Symbol, solve

x = Symbol('x')
expr = x**2 + 5*x + 4
result = solve(expr, dict=True)

print(result)


아래는 실행결과입니다.


[{x: -4}, {x: -1}]


좀 더 응용해서 연립방정식을 풀어보겠습니다.


solve() 메소드는 위 식을 아래와 같은 형태로 취급하고 해를 구하게 됩니다.


아래는 코드입니다.


from sympy import Symbol, solve

x = Symbol('x')
y = Symbol('y')
expr1 = 2*x + 3*y - 6
expr2 = 3*x + 2*y - 12

result = solve((expr1, expr2), dict=True)
result = result[0]
print(result)

# 구해진 해를 각 식에 넣어서 수식이 성립하는지 확인
# 0이 출력되면 방정식을 만족하는 해
print(expr1.subs({x:result[x], y:result[y]}))
print(expr2.subs({x:result[x], y:result[y]}))


아래는 실행결과입니다.


{x: 24/5, y: -6/5}
0
0


끝.

댓글

이 블로그의 인기 게시물

공압 속도 제어: 미터인 vs 미터아웃

전력(kW) 계산하기 (직류, 교류 단상, 교류 삼상)

[PLC] AWG => SQ 단위 변환

[투자] ETF 투자 가이드 : 카테고리별 ETF 선택 전략

[아두이노] 가변저항(Potential Divider)과 전압분배(Voltage Divider)

[전기실무] 부하 특성 데이터와 KEC 차단기 선정 가이드

[산업자동화] 머신비전 - 프레임 그래버란?

[PLC] 릴레이와 전자 접촉기 (MC)

[수학] 유클리드 기하학, 비-유클리드 기하학, 형식주의란?

Industrial Control with Relay: 파워릴레이와 범용릴레이