SymPy 연습하자.¶
In [22]:
from sympy import *
import math
from numpy import linspace
import matplotlib.pyplot as pl
In [3]:
x = symbols('x')
$f(x) = \frac{x^2 +1}{x-1}$
In [5]:
f = (x**2 +1)/(x-1)
In [6]:
f.subs(x,1)
Out[6]:
In [7]:
f.subs(x,2)
Out[7]:
Basic Operations¶
In [8]:
sqrt(2)
Out[8]:
In [10]:
N(sqrt(2))
Out[10]:
In [12]:
math.sqrt(2)
Out[12]:
In [13]:
N(sqrt(2)+1)
Out[13]:
In [14]:
2**3
Out[14]:
In [15]:
N(2**3)
Out[15]:
Fucntions & Plotting¶
In [30]:
f = sin(x)
g = cos(x)
In [31]:
fx = lambdify(x,f,modules=['numpy'])
gx = lambdify(x,g,modules=['numpy'])
In [36]:
xVals = linspace(-math.pi,math.pi,100)
In [21]:
import numpy
In [37]:
pl.plot(xVals,fx(xVals),label = 'f(x)=sin(x)')
pl.plot(xVals,gx(xVals),label = 'g(x)=cos(x)')
pl.xlabel('x')
pl.ylabel('f(x) = sin(x), g(x) = cos(x)')
pl.title('f(x) = sin(x), g(x) = cos(x)')
pl.legend()
pl.show()
In [38]:
f = asin(x)
g = acos(x)
In [39]:
fx = lambdify(x,f,modules=['numpy'])
gx = lambdify(x,g,modules=['numpy'])
In [41]:
xVals = linspace(-1,1,100)
pl.plot(xVals,fx(xVals),label = 'f(x)=sin(x)')
pl.plot(xVals,gx(xVals),label = 'g(x)=cos(x)')
pl.xlabel('x')
pl.ylabel('f(x) = sin(x), g(x) = cos(x)')
pl.title('f(x) = arcsin(x), g(x) = arccos(x)')
pl.legend()
pl.show()
In [42]:
f = sinh(x)
g = cosh(x)
In [43]:
fx = lambdify(x,f,modules=['numpy'])
gx = lambdify(x,g,modules=['numpy'])
In [45]:
xVals = linspace(-10,10,100)
pl.plot(xVals,fx(xVals),label = 'f(x)=sinh(x)')
pl.plot(xVals,gx(xVals),label = 'g(x)=cosh(x)')
pl.xlabel('x')
pl.ylabel('f(x) = sinh(x), g(x) = cosh(x)')
pl.title('f(x) = sinh(x), g(x) = cosh(x)')
pl.legend()
pl.show()
In [46]:
f = asinh(x)
g = acosh(x)
In [47]:
fx = lambdify(x,f,modules=['numpy'])
gx = lambdify(x,g,modules=['numpy'])
In [48]:
xVals = linspace(1,10,100)
pl.plot(xVals,fx(xVals),label = 'f(x)=arcsinh(x)')
pl.plot(xVals,gx(xVals),label = 'g(x)=arccosh(x)')
pl.xlabel('x')
pl.ylabel('f(x) = arcsinh(x), g(x) = arccosh(x)')
pl.title('f(x) = arcsinh(x), g(x) = arccosh(x)')
pl.legend()
pl.show()
$\displaystyle f(x)= \left\lceil{x}\right\rceil, g(x) = \left\lfloor{x}\right\rfloor, h(x) = x- \left\lfloor{x}\right\rfloor$¶
In [57]:
f = ceiling(x)
g = floor(x)
h = frac(x)
In [58]:
fx = lambdify(x,f,modules=['numpy'])
gx = lambdify(x,g,modules=['numpy'])
hx = lambdify(x,h,modules=['numpy'])
In [59]:
xVals = linspace(-10,10,100)
pl.plot(xVals,fx(xVals),label = 'f(x)=ceiling(x)')
pl.plot(xVals,gx(xVals),label = 'g(x)=floor(x)')
pl.plot(xVals,hx(xVals),label = 'h(x)=frac(x)')
pl.xlabel('x')
pl.ylabel('f(x), g(x), h(x)')
pl.title('f(x) = ceiling(x), g(x) = floor(x), h(x)=frac(x)')
pl.legend()
pl.show()
In [52]:
g
Out[52]:
In [ ]:
'코딩 관련' 카테고리의 다른 글
주피터 노트북(Jupyter Notebook) (0) | 2020.05.06 |
---|---|
Markdown(마크다운) 기본 사용법 (0) | 2020.05.06 |