기본 콘텐츠로 건너뛰기

라벨이 simplify인 게시물 표시

[matplotlib]quiver()함수

sympy 식과 연산

내용 symbols 등호 기호 ^, &, 그리고 / 기본 연산 대체(substitution) 문자열을 sympy 식으로 전환 evalf, N lambdify sympy operation symbols sympy에서 문자를 심벌로 사용하기 위해서는 사용전에 반드시 정의되어야 합니다. 심벌을 정의하기 위해 symbols() 를 사용하는데 여러개의 심벌들을 동시에 정의할 수 있습니다. from sympy import * x=symbols('x') x+1 x + 1 y, z=symbols('y z') type(y) sympy.core.symbol.Symbol 심벌은 문자열로 지정이 가능합니다. crazy =symbols('unrelated') crazy+1 unrelated + 1 symbols() 함수에 의해 정의한 일반 객체의 이름으로 사용된 문자와는 구분됩니다. 다음 코드에서 symbol로 정의된 x 즉, sympy 식에 사용된 심벌 x와 2가 할당된 객체 이름의 x와는 구분됨을 나타내고 있습니다. x= symbols('x') #심벌로 x expr=x+1 expr x + 1 x=2 #객체이름으로 x x + 3 5 sympy에서 생성한 식의 심벌에 특정한 수를 대입하기 위해서는 .subs() 메소드를 적용합니다. x=symbols('x') expr=x+1 expr x + 1 expr.subs(x, 4) 5 등호 기호 python에서 ' = '는 이 기호를 기준으로 오른쪽의 값을 왼쪽으로 할당함을 의미합니다. sympy 역시 동일한 의미로 작동됩니다. ' 같다 '의 의미로는 ‘ == ’를 사용하고 bool형 즉, True, False의 결과를 반환합니다. x=symbols('x') expr = x+1 expr==3 False expr1=expr.sub...

[sympy] Sympy객체의 표현을 위한 함수들

Sympy객체의 표현을 위한 함수들 General simplify(x): 식 x(sympy 객체)를 간단히 정리 합니다. import numpy as np from sympy import * x=symbols("x") a=sin(x)**2+cos(x)**2 a $\sin^{2}{\left(x \right)} + \cos^{2}{\left(x \right)}$ simplify(a) 1 simplify(b) $\frac{x^{3} + x^{2} - x - 1}{x^{2} + 2 x + 1}$ simplify(b) x - 1 c=gamma(x)/gamma(x-2) c $\frac{\Gamma\left(x\right)}{\Gamma\left(x - 2\right)}$ simplify(c) $\displaystyle \left(x - 2\right) \left(x - 1\right)$ 위의 예들 중 객체 c의 감마함수(gamma(x))는 확률분포 등 여러 부분에서 사용되는 표현식으로 다음과 같이 정의 됩니다. 감마함수는 음이 아닌 정수를 제외한 모든 수에서 정의됩니다. 식 1과 같이 자연수에서 감마함수는 factorial(!), 부동소수(양의 실수)인 경우 적분을 적용하여 계산합니다. $$\tag{식 1}\Gamma(n) =\begin{cases}(n-1)!& n:\text{자연수}\\\int^\infty_0x^{n-1}e^{-x}\,dx& n:\text{부동소수}\end{cases}$$ x=symbols('x') gamma(x).subs(x,4) $\displaystyle 6$ factorial 계산은 math.factorial() 함수를 사용할 수 있습니다. import math math.factorial(3) 6 a=gamma(x).subs(x,4.5) a.evalf(3) 11.6 simpilfy() 함수의 알고리즘은 식에서 공통사항을 찾아 정리하...