「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Python で線形補間を使用してプロット上で正確なゼロおよびゼロ以外の切片を見つける方法

Python で線形補間を使用してプロット上で正確なゼロおよびゼロ以外の切片を見つける方法

2024 年 11 月 4 日に公開
ブラウズ:791

How to Find Exact Zero and Non-Zero Intercepts on Plots Using Linear Interpolation in Python?

ゼロとの曲線の交点の検索

Python では、値が非プロットの場合、プロットから正確な y 軸の値を取得するのが困難になることがあります。整数。この記事では、この問題に対処し、線形内挿に基づく解決策を紹介します。

2 つの配列 (vertical_data と gradient(temperature_data)) が与えられると、plt.plot を使用してプロットが生成されます。ただし、プロットには、ゼロに近いが正確にはゼロではない y 値が表示されます。

根推定のための線形補間

numpy 配列の正確な根を推定するには、単純な線形補間方法を使用できます。次のコードは、任意の曲線のゼロ値を見つける方法を示しています。

import numpy as np

def find_roots(x, y):
    s = np.abs(np.diff(np.sign(y))).astype(bool)
    return x[:-1][s]   np.diff(x)[s]/(np.abs(y[1:][s]/y[:-1][s]) 1)

x = .4 np.sort(np.random.rand(750))*3.5
y = (x-4)*np.cos(x*9.)*np.cos(x*6 0.05) 0.1

z = find_roots(x,y)

plt.plot(x,y)
plt.plot(z, np.zeros(len(z)), marker="o", ls="", ms=4)

このコードは曲線の根を特定し、それらを円としてプロットします。正確な y 値 0 で。

Non-Zero Intercepts

同じアプローチを使用して、ゼロ以外の y と曲線の交点を見つけることができます。 -value (y0) は、ルートを検索する行を変更します:

z = find_roots(x,y-y0)

Two Curve Intersections

線形補間法は、2 つの曲線間の交点を見つけるために使用することもできます。 2 つの曲線の差の根を見つけることで、それらの交点を推定できます:

y2 = (x - 2) * np.cos(x * 8.) * np.cos(x * 5   0.03)   0.3

z = find_roots(x,y2-y1)

plt.plot(x,y1)
plt.plot(x,y2, color="C2")
plt.plot(z, np.interp(z, x, y1), marker="o", ls="", ms=4, color="C1")
リリースステートメント この記事は次の場所に転載されています: 1729465881 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3