Programming/Python

[Python] SymPy 라이브러리를 이용한 방정식 계산방법

변화의 물결1 2024. 3. 12. 00:24

 

 

 

안녕하세요.

 

  “모두의 인공지능 기초 수학” 도서를 보면서 나중에 사용하면 좋겠다는 생각나는 것들을 실습해 보면서 남겨보려고 합니다.

 이 도서에서의 주피터 노트북(Jupyter Notebook)으로 테스트했다고 했으나 현재 다른 Python IDE(Pycharm)를 사용하고 있어서 다른 IDE로 테스트하였습니다. 

 

 

 <테스트해 본 내용>

 

  SymPy 라이브러리를 사용하면 수학 시간에 계산하기 힘든 방정식 x, y 값을 구할 수 있습니다. 그러나 수학 시험은 과정도 중요하게 생각하기 때문에 바로 답이 나오는 것은 좋지 않을 수 있지만, 급하게 풀어야 할 방정식이 있다면 바로 사용해도 좋을 듯합니다.

 


1. 라이브러리 설치

 

  - Python IDE Prompt 창에서 아래와 같이 프로그램 설치를 합니다.   

 

 > pip install numpy
 > pip install sympy

 

 

2. 소스 구현

 

 - sympy 라이브러리를 불러오고 사용할 클래스와 함수를 임포트 합니다.

 

from sympy import Symbol, solve

 

 

 

 - 테스트해볼 방정식은 “4x = 8”입니다. 여기서 보면 미지수가 1개인 방정식입니다. 프로그램으로 방정식을 풀기 위해서는 기본 2가지 작업을 해주어야 합니다.

 

 - 미지수를 심벌로 사용하겠다고 선언해 주고, 한쪽으로 이항 시켜서 한쪽을 0으로 만들어 주어야 합니다. 그리고 심벌이 있는 식을 변수처럼 대입합니다.   

 

x = Symbol(‘x’)
Sample_equation = 4 * x - 8

 

 

 - solve() 함수에 심볼이 있는 식을 인자로 넣어줍니다. 그러면 결과를 얻을 수 있습니다. 그러나 도서에 나온 것처럼 결과를 변수에 대입하지 않을 경우 Pycharm과 Visual Studio Code에는 결괏값이 보이지 않았습니다.  그래서 변수에 결과를 대입한 후에 출력해야 결과를 볼 수 있었습니다.

 

solve_data = solve(Sample_equation)
print("solve_data : " + str(solve_data))

 

 

3. 실행 결과

 

 - x 값은 2로 정상적인 값이 출력되는 것을 확인할 수 있습니다.

 

 

 

 

감사합니다.

 

 

<참고 자료>

1. <모두의 인공지능 기초 수학> (길벗, 2020)

https://github.com/gilbutITbook/080246

2. [python]str을 dict로 바꾸는 두 가지 방법

https://blog.metafor.kr/224   

반응형