3
いくつかの実験データを使って、私の人生はスプラップを使ってBスプラインを作成する方法を考えることができません。データはここにある:ここではhttp://ubuntuone.com/4ZFyFCEgyGsAjWNkxMBKWDscipy.interpolate.splrepを使って曲線を補間するにはどうすればよいですか?
は抜粋です。
#Depth Temperature
1 14.7036
-0.02 14.6842
-1.01 14.7317
-2.01 14.3844
-3 14.847
-4.05 14.9585
-5.03 15.9707
-5.99 16.0166
-7.05 16.0147
、ここでは、yとxの温度に深さと、それをプロットです:
ここに私のコードです:
import numpy as np
from scipy.interpolate import splrep, splev
tdata = np.genfromtxt('t-data.txt',
skip_header=1, delimiter='\t')
depth = tdata[:, 0]
temp = tdata[:, 1]
# Find the B-spline representation of 1-D curve:
tck = splrep(depth, temp)
### fails here with "Error on input data" returned. ###
私は愚かな何かをしているのを知っていますが、私はそれを見ることができません。
データをソートするには、おそらく 'np.argsort()'関数を使うべきです: 'indices = np.argsort(depth);深さ=深さ[インデックス]; temp = temp [インデックス] '。これは、リストのタプルの迂回を保存します。 –
@FerdinandBeyerそれは私よりはるかに良い解決策です!それを今編集する。 –
「depth [indices]」を実行しようとしたときにエラーが発生しましたが、「indexesのi」の「depth [i]」よりも良い方法があれば教えてください。いずれにせよ、それはずっときれいな解決策です、ありがとう。 –