[파이썬] 방정식 / 행렬 - 그래프 ( sympy / numpy 모듈 ) - 수학

2021. 1. 9. 16:40기초

728x90

 

◎ 다항식

from sympy import *
import numpy as np

init_printing()                  # 복잡한 수식표현 
x, y = symbols('x y')

#------------------------------------------------
eqn = Eq(2*x**2 + 3*x - 5, 0)    # 방정식 (sympy)

display(eqn)
solve(eqn, x)

#------------------------------------------------
np.roots([2, 3, -5])             # 방정식 (numpy)

#---------------------------------------------------------------
plot(2*x**2 + 3*x - 5, (x, -5, 5), ylim=(-10, 10), legend=True)    # 그래프 (sympy)

 

 

         array([-2.5, 1. ])

 

 

 

 

 

 


◎ 연립 방정식

# 방정식 (sympy)

Eq_1 = Eq(x + y, 2)
Eq_2 = Eq(x**2 + y**2, 4)

display(Eq_1, Eq_2)
solve([Eq_1, Eq_2], [x, y])

#---------------------------------------------------------------------------
# 행렬 (numpy)

A = np.array([[2,3],
              [5,6]])
B = np.array([4, 
              5])
X = np.linalg.solve(A, B)
print(X)

#-----------------------------------------------
A = np.array([[2,3],
              [5,6]])
B = np.array([4, 
              5])
inv_A = np.linalg.inv(A)  # 역행렬 활용
X = np.dot(inv_A, B)
print(X)

#---------------------------------------------------------------------------
# 그래프 (sympy)

plot_implicit(Or(Eq_1, Eq_2), (x, -4, 4), (y, -3, 3))

                  [-3.    3.33333333]

                  [-3.    3.33333333]

 

 

 

 

반응형