Python: 라프라스 변환(공식에 따라 실시해 보자)

개시하다


목표


이번에는 아래의 공식을 보고 실시한 것이다.
${\displaystyle F(s)=\int _{0}^{\infty }f(t)\mathrm {e} ^{-st}\mathrm {d} t}$
또한 제목과 같이python 코드와 공식을 대응하여 설치합니다.
※ 주의: 비교 가능한 설치는 발견되지 않았고, 제대로 설치되었는지는 확인되지 않았습니다

차리다


첫 번째 부적입니다.이렇게 하면π와 e 등을 사용하여 얻은 값을 도표화할 수 있다.
%matplotlib inline

import numpy as np
import matplotlib.pyplot as plt

함수 f의 정의


이번에는 다음 부분에서sin파를 사용합니다.
${f(t)}$
여기에 쓰면 f는sin 함수다.
f = np.sin
t에 sin (t) 의 값을 출력합니다.
>>> t = np.pi / 2
>>> f(t)
1.0

상한 및 dt 설정


원래 이렇게 다음 공식에 따라 0부터 8까지 처리하려고 했어요.
${\displaystyle\int _{0}^{\infty }f(t)\mathrm {e} ^{-st}\mathrm {d} t}$
무한을 사용할 수 없기 때문에 상한선과 dt의 값을 설정합니다.(타협...)
이번 상한은 100dt=0.001이다.그 다음에 아래에서 0에서 100 사이의 0.001 간격으로 변화하는 수열 T를 만들 수 있다.
dt = 0.001
max_t = 100
T = np.arange(int(max_t / dt)) * dt
이 몇 열을 함수 f에 in파로 만들면 다음과 같은 느낌이 든다.
plt.plot(T, f(T))
plt.show()
잘 나왔네.
라프라스 변환

함수 F의 정의


여기까지 하면 F는 lambda식으로 쓸 수 있다.
스케줄러:완전 공식이니까 이해하기 쉽죠...
F = lambda s: np.sum(f(T) * np.e**(-s * T) * dt)
그리고 다음 의식이 끝났습니다!ρ(・ω・)
${\displaystyle F(s)=\int _{0}^{\infty }f(t)\mathrm {e} ^{-st}\mathrm {d} t}$
아니.. ∞가 아니니까 이렇게 하자.ω・‘)
${\displaystyle F(s)=\int _{0}^{100}f(t)\mathrm {e} ^{-st}\mathrm {d} t}$
마지막으로 s가 1~100까지 변할 때 F(s)가 어떻게 변하는지 본다.
맵으로 빠르게 만드는 게 좋지만... F(s) 순서대로 하면 이해하기 쉬우니까 for문으로 하는 게 좋아요.
겸사겸사 맵 쓰는 법을 댓글에 써주세요.
S = range(1, 100)
N = []
for s in S:
    N.append(F(s))
plt.plot(S, N)
# plt.plot(S, list(map(F, S)))
plt.show()

총결산


이번에 의 공식을 보면서 실시하였다.
미검증이 제대로 이뤄졌는지 모르기 때문에 앞으로 검증을 해보려고 한다.
비키를 다시 보면...
라프라스 변환이 함수 f길흉(t)일 때 잠시 e-σtθ곱하기(t) 후 부립엽 변환 조작이라고 할 수 있다
${\displaystyle F(s):=F(\sigma ,\omega )=\int _{-\infty }^{\infty }\theta (t)f(t)\mathrm {e} ^{-\sigma t}\mathrm {e} ^{-i\omega t}\,\mathrm {d} t{\overset {s=\sigma +i\omega }{=!=}}\int _{0}^{\infty }f(t)\mathrm {e} ^{-st}\,\mathrm {d} t}$
따라서 앞으로 이전에 실시했던 부립엽 변환을 시험해 보고 싶다ρ(・ω・)
(동시에 검증할 수 있나요?)

좋은 웹페이지 즐겨찾기