[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


끝.

댓글

이 블로그의 인기 게시물

[PLC] PLC 아날로그 입출력 기본

NPN, PNP 트랜지스터 차이점

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

제너 다이오드에 저항을 연결하는 이유

3선 결선식 센서의 타입 PNP, NPN

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

3상 모터 전력에서 전류 계산하기 (How to Convert Three-Phase Power to Amps)

커패시터에 저장된 에너지 계산

[공압밸브] 5포트 2웨이 & 4포트 2웨이, 단동 VS 복동 차이점

SSR과 기계식 릴레이 차이점