[python]scipyに補間させてみた

最近何故かMatlabを使ってるけど,同じ機能scipyにもあったよね?

import numpy as np
import matplotlib.pyplot as plt
from scipy import interpolate

# random sampling
x = np.sort(np.random.random_sample(10)) * 4
y = np.exp(-x/3.0)
f1 = interpolate.interp1d(x, y, kind='linear', bounds_error=False, fill_value=0)
f2 = interpolate.interp1d(x, y, kind='quadratic', bounds_error=False, fill_value=0)
f3 = interpolate.interp1d(x, y, kind='cubic', bounds_error=False, fill_value=0)

xnew = np.arange(min(x), max(x), (max(x)-min(x))/200)
plt.plot(x, y, 'o', xnew, f1(xnew), 'b-')
plt.savefig('fig1.png')

plt.figure()
plt.plot(x, y, 'o', xnew, f2(xnew), 'b-')
plt.savefig('fig2.png')

plt.figure()
plt.plot(x, y, 'o', xnew, f3(xnew), 'b-')
plt.savefig('fig3.png')



scipy.interpolateを使ってみた.







返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です