Pythonで直列共振のインピーダンスの変化を見る。誘導性リアクタンスと容量性リアクタンスは
\begin{align}
X_L = 2 \pi f L \hspace{10mm} X_C=\frac{1}{2 \pi f C}
\end{align}
これよりインピーダンスの大きさは
\begin{align}
Z=\sqrt{R^2+(X_L-X_C)^2}
\end{align}
また共振周波数は
\begin{align}
f=\frac{1}{2 \pi \sqrt{LC}}
\end{align}
グラフが最小値を取るときの周波数が共振周波数である。
以下コード
import numpy as np
import matplotlib.pyplot as plt
R = 10
C = 0.01 * 10 ** (-6)
L = 4.7 * 10 ** (-3)
N = 1000
f = np.linspace(20000, 30000, N)
Z = [0] * N
for i in range(0, N):
absXL = 2 * np.pi * f[i] * L
absXC = 1 / (2 * np.pi * f[i] * C)
Z[i] = np.sqrt(R ** 2 + (absXL - absXC) ** 2)
print(1/(2*np.pi*np.sqrt(L*C)))
plt.plot(f, Z)
plt.show()
plt.grid()
コメント