기본 콘텐츠로 건너뛰기

라벨이 solve()인 게시물 표시

[matplotlib]quiver()함수

[Math] 미분 문제

미분의 응용 문제 예) 자동차 A, B가 각각 서와 동쪽에 500m 의 간격을 두고 있습니다. A는 B를 향해 35m/h의 속도로 이동하고 B는 남쪽으로 50m/h의 속도로 이동합니다. 3시간 후에 두차 사이의 거리의 변화율? 증가 또는 감소? 위 문제는 그림의 z의 변화율을 계산하는 것입니다. 위의 x, y, z은 t에 대한 함수로 인식할 수 있습니다. \begin{align}x^2(t)+y^2(t)&=z^2(t)\\ \frac{d(x(t)}{dt}=-35&\quad \frac{d(y(t))}{dt}=50\end{align} 3시간 후 x=500-35⋅3=395, y=50*3=150 from sympy import * t=symbols('t') x=Function('x')(t);x x(t) y=Function('y')(t);y y(t) z=Function('z')(t);z z(t) eq=x**2+y**2-z**2;eq $x^{2}{\left(t \right)} + y^{2}{\left(t \right)} - z^{2}{\left(t \right)}$ deq=diff(eq, t);deq $2 x{\left(t \right)} \frac{d}{d t} x{\left(t \right)} + 2 y{\left(t \right)} \frac{d}{d t} y{\left(t \right)} - 2 z{\left(t \right)} \frac{d}{d t} z{\left(t \right)}$ dz=solve(deq, diff(z, t)); dz (x(t)*Derivative(x(t), t) + y(t)*Derivative(y(t), t))/z(t) x1=500-35*3 y1=50*3 z1=(x1**2+y1**2)**0.5;z1 422.5221887664599 dz[0].subs({x:x1, diff(x, t):-35, y:y1, diff(y, t):50...

R: 역행렬을 사용하여 선형시스템의 해 결정

내용 항등행렬 역행렬 행렬식 연립방정식에 적용 역행렬을 사용하여 선형시스템의 해 결정 항등행렬 항등행렬 : eye(n) > eye(3) [,1] [,2] [,3] [1,] 1 0 0 [2,] 0 1 0 [3,] 0 0 1 역행렬 역행렬: 다음의 관계를 만족하는 행렬 B를 역행렬(inverse matrix) 라고 합니다. $$A \cdot B = I \rightarrow B=A^{-1}$$ 이러한 역행렬을 가지는 행렬을 가역행렬(reversible matrix) 라고 합니다. > set.seed(2) > a A A_inv A%*%A_inv [,1] [,2] [1,] 1 -1.110223e-16 [2,] 0 1.000000e+00 > round(A%*%A_inv) [,1] [,2] [1,] 1 0 [2,] 0 1 위 행렬 A의 행렬식은 0이 아닙니다. > det(A) [1] -49 행렬식 행렬은 그 행렬로 부터 계산할 수 있는 행렬식(determinant)이 0인 경우 역행렬이 존재하지 않는 특성을 가지고 있습니다. 즉, 행렬식은 어떤 행렬에 대해 특이 행렬 여부를 결정할 수 있는 근거가 됩니다. 행렬식 ≠ 0 → 가역행렬 그러나 위 명제의 역은 성립하지 않습니다. R함수 det() 를 사용하여 계산합니다. 연립방정식에 적용 역행렬을 사용하여 연립방정식의 해를 결정할 수 있습니다. $$ \begin{matrix} \begin{matrix} x + y + 2z& =9 \\2x + 4y- 3z& = 1\\ 3x + 6y- 5z& = 0 \end{matrix} \rightarrow & \begin{bmatrix}1&1&2\\2&4&-3\\3&6&...

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$$ 실수...