두 개의 numpy 데이터 배열을 사용하여 파이썬에서 두 번째 파생물을 가져 오려고합니다. 나는 현재 다음 f(x) = y
이파이썬에서 두 번째 파생어 - scipy/numpy/pandas
import numpy as np
x = np.array([ 120. , 121.5, 122. , 122.5, 123. , 123.5, 124. , 124.5,
125. , 125.5, 126. , 126.5, 127. , 127.5, 128. , 128.5,
129. , 129.5, 130. , 130.5, 131. , 131.5, 132. , 132.5,
133. , 133.5, 134. , 134.5, 135. , 135.5, 136. , 136.5,
137. , 137.5, 138. , 138.5, 139. , 139.5, 140. , 140.5,
141. , 141.5, 142. , 142.5, 143. , 143.5, 144. , 144.5,
145. , 145.5, 146. , 146.5, 147. ])
y = np.array([ 1.25750000e+01, 1.10750000e+01, 1.05750000e+01,
1.00750000e+01, 9.57500000e+00, 9.07500000e+00,
8.57500000e+00, 8.07500000e+00, 7.57500000e+00,
7.07500000e+00, 6.57500000e+00, 6.07500000e+00,
5.57500000e+00, 5.07500000e+00, 4.57500000e+00,
4.07500000e+00, 3.57500000e+00, 3.07500000e+00,
2.60500000e+00, 2.14500000e+00, 1.71000000e+00,
1.30500000e+00, 9.55000000e-01, 6.65000000e-01,
4.35000000e-01, 2.70000000e-01, 1.55000000e-01,
9.00000000e-02, 5.00000000e-02, 2.50000000e-02,
1.50000000e-02, 1.00000000e-02, 1.00000000e-02,
1.00000000e-02, 1.00000000e-02, 1.00000000e-02,
1.00000000e-02, 1.00000000e-02, 5.00000000e-03,
5.00000000e-03, 5.00000000e-03, 5.00000000e-03,
5.00000000e-03, 5.00000000e-03, 5.00000000e-03,
5.00000000e-03, 5.00000000e-03, 5.00000000e-03,
5.00000000e-03, 5.00000000e-03, 5.00000000e-03,
5.00000000e-03, 5.00000000e-03])
, 나는 d^2 y/dx^2
를 원하는 :
예를 들어, 문제의 배열은 다음과 같이.
수치 적으로 함수를 보간하고 분석적으로 미분을 취하거나 을 사용할 수 있음을 알고 있습니다. 어느 쪽이든 다른 쪽이 더 빠르고 더 정확하다고 생각되면 데이터를 사용할 충분한 데이터가 있다고 생각합니다.
나는 np.interp()
과 scipy.interpolate
을 보았습니다.) 스플라인을 사용하지만 그 시점에서 파생물을 얻는 방법을 모릅니다.
모든 안내에 감사드립니다.
당신이 [np.diff]를 살펴 있었나요 (https://docs.scipy.org/doc/numpy/reference/generated/numpy.diff.html)? – mkhanoyan
내 관심사는 데이터 포인트가 균등하지 않다는 점입니다. – Jared