기본 콘텐츠로 건너뛰기

라벨이 solve인 게시물 표시

pandas_ta를 적용한 통계적 인덱스 지표

삼각함수의 주기적 특성

삼각함수 주기적 특성 삼각함수는 일정한 범위를 기준으로 반복되는 주기함수(periodic function) 입니다. 예로 cos(x)와 cos(2x)의 그래프를 그려보면 그림 1과 같습니다. 그림 1. cos(x)와 cos(2x) x=np.linspace(0, 3*np.pi, 100) y=np.cos(x) y2=np.cos(2*x) fig, ax=plt.subplots(figsize=(4,2)) ax.plot(x, y, color="b", label="cos(x)") ax.plot(x, y2, color="r", label="cos(2x)") ax.vlines(2*np.pi, 0, 1, ls="dotted", color="b") ax.hlines(0.5, 0, 2*np.pi, ls="dotted", color="b", label="period for cos(x)") ax.hlines(0.3, 0, np.pi, ls="dotted", color="r", label="period for cos(2x)") ax.vlines(np.pi, -1, 1, ls="dotted", color="g", label="amplititude") ax.spines['left'].set_position(("data", 0)) ax.spines['bottom'].set_position(("data", 0)) ax.spines['right'].set_visible(False) ax.spines['top'].set_visible(False) x1=[0, np.pi/2, np.pi,3*np.pi/2, 2*np.pi,5*np...

[Linear Algebra] 동차선형결합(Homogeneous Linear Combination)

동차 선형결합(Homogeneous Linear Combination) 동차선형결합(Homogeneous Linear Combination) 은 선형 결합에서 상수 벡터가 0 벡터인 경우입니다. 즉, 표준 행렬 A와 변수 벡터 x 사이에 식 1이 성립합니다. Ax = 0 (식 1) 동차 선형 결합에서 갖는 해는 두 종류로 구분할 수 있습니다. 자명한해(trivial solution) : 유일한 해를 가지는 동차선형결합 자명하지 않은 해(nontrivial solution) : 다양한 해를 가지는 동차선형결합 그러므로 동차 선형결합에서 최소 한개 이상의 자유변수(Free variable) 를 가진다면 하나 이상의 다양한 해를 가지는 것을 의미하는 것으로 자명하지 않은 해(nontrivial solution) 를 가지는 시스템이 됩니다. 예 1) 다음은 동차 선형결합입니다. 이 결합의 해를 계산해봅니다. \begin{align} 3x_1 + 5x_2 - 4x_3 &= 0\\ -3x_1 - 2x_2 + 4x_3 &= 0\\  6x_1 + x_2 - 8x_3 &= 0\end{align} 위 각 식의 계수들을 행렬로 표현하는 표준행렬(A)을 다음과 같습니다. 위 식의 수와 각 식의 계수의 수가 같습니다. 즉 다음 결과와 같이 표준행렬(A)은 정방행렬입니다. 이 행렬의 역행렬 존재 여부를 판단하기 위해 행렬식을 조사해 봅니다. A=np.array([[3, 5, -4],[-3, -2, 4],[6, 1, 8]]) print(A) [[ 3 5 -4] [-3 -2 4] [ 6 1 8]] la.det(A) 144.0 행렬식이 0이 아니므로 가역행렬입니다. 즉, 역행렬에 의한 각 변수의 해를 계산할 수 있습니다. 이 경우 즉, 표준행렬이 가역행렬인 경우 그 해는 numpy.linalg.solve() 함수로 계산할 수 있습니다. b=np.array([[0],[0],[0]]) print(la...

sympy.solvers로 방정식해 구하기

sympy.solvers로 방정식해 구하기 대수 방정식을 해를 계산하기 위해 다음 함수를 사용합니다. sympy.solvers.solve(f, *symbols, **flags) f=0, 즉 동차방정식에 대해 지정한 변수의 해를 계산 f : 식 또는 함수 symbols: 식의 해를 계산하기 위한 변수, 변수가 하나인 경우는 생략가능(자동으로 인식) flags: 계산 또는 결과의 방식을 지정하기 위한 인수들 dict=True: {x:3, y:1}같이 사전형식, 기본값 = False set=True :{(x,3),(y,1)}같이 집합형식, 기본값 = False ratioal=True : 실수를 유리수로 반환, 기본값 = False positive=True: 해들 중에 양수만을 반환, 기본값 = False 예 $x^2=1$의 해를 결정합니다. solve() 함수에 적용하기 위해서는 다음과 같이 식의 한쪽이 0이 되는 형태인 동차식으로 구성되어야 합니다. $$x^2-1=0$$ import numpy as np from sympy import * x = symbols('x') solve(x**2-1, x) [-1, 1] 위 식은 계산 과정은 다음과 같습니다. $$\begin{aligned}x^2-1=0 \rightarrow (x+1)(x-1)=0 \\ x=1 \; \text{or}\; -1\end{aligned}$$ 예 $x^4=1$의 해를 결정합니다. solve() 함수의 인수 set=True를 지정하였으므로 결과는 집합(set)형으로 반환됩니다. eq=x**4-1 solve(eq, set=True) ([x], {(-1,), (-I,), (1,), (I,)}) 위의 경우 I는 복소수입니다.즉 위 결과의 과정은 다음과 같습니다. $$x^4-1=(x^2+1)(x+1)(x-1)=0 \rightarrow x=\pm \sqrt{-1}, \; \pm 1=\pm i,\; \pm1$$ 실수...