Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mencari Persilangan Lengkung dengan y==0 Menggunakan Interpolasi Linear dalam Python?
Mencari Persilangan Lengkung dengan y==0 Menggunakan Interpolasi Linear
Dalam Python, kita boleh mencipta plot daripada data yang disimpan dalam tatasusunan menggunakan perpustakaan matplotlib. Walau bagaimanapun, mendapatkan nilai paksi-y yang tepat bagi persilangan lengkung dengan y==0 boleh mencabar.
Untuk menangani perkara ini, kita boleh menggunakan interpolasi linear untuk menghampiri titik persilangan, seperti berikut:
Melaksanakan penyelesaian: Kita boleh mencari punca atau sifar tatasusunan data menggunakan interpolasi linear:
<code class="python">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)</code>
Gunakan penyelesaiannya:
<code class="python">z = find_roots(gradient(temperature_data), vertical_data)</code>
Plot keputusan: Untuk memvisualisasikan persimpangan, kita boleh memplot titik data dan menandakan lintasan sifar dengan penanda:
<code class="python">import matplotlib.pyplot as plt plt.plot(gradient(temperature_data), vertical_data) plt.plot(z, np.zeros(len(z)), marker="o", ls="", ms=4) plt.show()</code>
Kaedah ini memberikan anggaran titik persilangan tepat antara lengkung dan y==0.
Atas ialah kandungan terperinci Bagaimana untuk Mencari Persilangan Lengkung dengan y==0 Menggunakan Interpolasi Linear dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!