(48) スプライン補間で内挿

投稿者: | 2014年8月29日

13,318 views

この記事は最終更新から 2306日 が経過しています。

以下の4点を通る滑らかなそれっぽい曲線を描きたい。
(x,y)=(-2,4),(-1,1),(1,5),(2,1)

この4点を直線で結んでみる。

import numpy as np
import matplotlib.pyplot as plt
x = np.array([-2,-1,1,2],dtype='float32')
y = np.array([4,1,5,1],  dtype='float32')
plt.plot(x, y)
plt.show()

20140829_02

この4点のX軸上の両端を0.1ステップで40分割し、各X座標に対応するY座標を スプライン補間 で求める。

import scipy.interpolate
xn = np.arange(-2.0, 2.1, 0.1)
rp = scipy.interpolate.splrep(x, y, s=0)
yn = scipy.interpolate.splev(xn, rp, der=0)
plt.plot(x, y)
plt.plot(xn, yn)
plt.show()

20140829_03

P.S.
スプライン補間は3次元でも使える。


アクセス数(直近7日): ※試験運用中、BOT除外簡易実装済
  • 2026-02-10: 0回
  • 2026-02-09: 0回
  • 2026-02-08: 0回
  • 2026-02-07: 0回
  • 2026-02-06: 0回
  • 2026-02-05: 1回
  • 2026-02-04: 0回
  • コメントを残す

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