使用一些实验数据,我终生无法弄清楚如何使用 splrep 创建 B 样条。数据在这里:http ://ubuntuone.com/4ZFyFCEgyGsAjWNkxMBKWD
这是一段摘录:
#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. ###
我知道我在做一些非常愚蠢的事情,但我就是看不到。