2
写真のように、私は現在、次スプラインを使用して測定を補間しています
アイデア私はその補間の半値全幅を見つけたいです。そのために私は私のラインy=0.5
との交点のソートされたインデックスを返すコード
f = interpolate.interp1d(hhg_data, signal_array, kind='cubic')
idx2 = np.argsort(np.abs(f(hhg_interp)-0.5))
の小片を使用しています。しかし、私は曲線の左端と右端に解を欲しく、時にはそれが私に連続する2点を返します。これを避けるためのエレガントな無邪気な方法はありますか?少なくとも私のハックなソリューションよりもはるかに優れています。
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
(すなわち離散点であなたの関数を計算し、それらの値で動作)、ソート、唯一の最大値があるとgridsearchをしたいと思っている、私は次のことを行うだろうと仮定
本当に分かりませんが、hhg_interpは基本的にx軸変数のnp.arrayです。その場合、hhg_interp = linspace(18.5、19.5、10000)とすると、fをプロットする細かいグリッドが得られます。 – Roland
左端と右端のインデックスだけでなく、いくつかのコメントを計算するためのコードをいくつか追加しました。これは明らかにするのに役立ちますか? – cobaltfiftysix
ああ、私は参照してください。ありがとうございました。おそらく私はこのアイデアを取り上げて、自分の興味のあるケースに最も適したものにするでしょう。 – Roland