我試圖用numpy和scipy庫為一組點擬合一條曲線,但得到的是一條如下所示的封閉曲線。 誰能告訴我如何在不封閉曲線的情況下擬合一條曲線?
我遵循的代碼是:
import numpy as np
from scipy.interpolate import splprep, splev
import matplotlib.pyplot as plt。
coords = np. array([(3,8), (3,9), (4,10), (5,11)。 (6,11), (7,13) 。(9,13), (10,14) 。 (11,14), (12,14), (14,16), (16,17), (17,18), (18,18)。 (19,18), (20,19) 。
(21,19), (22,20) 。 (23,20), (24,21), (26,21), (27,21), (28,21), (30,21), (32,20), (33,20), (32,17), (33,16), (33,15), (34,12) 。(34,10), (33,10),
(33,9), (33,8), (33, 6),(34,6),(34,5) ] )
tck, u = splprep(coords.T, u=None, s=0.0, per=1)
u_new = np.linspace(u.min(), u.max(), 1000)
x_new, y_new = splev(u_new, tck, der=0)
plt.plot(coords[:,1], coords[:,0], 'ro' /span>)
plt.plot(y_new, x_new, 'b--')
plt.show()
輸出:
我需要不加入第一和最后一點的輸出。
謝謝你。
uj5u.com熱心網友回復:
中設定per引數為0。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/326845.html
標籤:


