2
我目前插值用三次樣條函數的測量如圖所示的畫面:更Python的方式尋找曲線交點
的想法是我想要找的全寬半最大插值的。對於我使用的一小段代碼
f = interpolate.interp1d(hhg_data, signal_array, kind='cubic')
idx2 = np.argsort(np.abs(f(hhg_interp)-0.5))
返回我的路口排序指標與線y=0.5
。但是,我想要在曲線的左邊緣和右邊緣的解決方案,有時它會給我兩個連續的點。有沒有一種優雅的pythonic方式來避免這種情況?至少比我的哈克解決方案好多了:
idx_sorted = []
counter = 0
counter2 = 0
while(counter <= 1):
if idx2[counter2] != idx2[counter2-1]+1 and idx2[counter2] != idx2[counter2-1]-1:
idx_sorted.append(idx2[counter2])
counter+=1
counter2+=1
謝謝你的回答!
不太確定,hhg_interp基本上是一個x軸變量的np.array。在這種情況下,你可以把它作爲hhg_interp = linspace(18.5,19.5,10000),只需要一個精細的網格來繪製f。 – Roland
增加了一些用於計算左右邊緣索引的代碼以及一些註釋。這有助於澄清? – cobaltfiftysix
好的,我明白了。感謝它的工作很好。也許我會解決這個想法,最好的適應我的興趣。 – Roland