-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathR-L-phi.py
More file actions
54 lines (41 loc) · 1.53 KB
/
R-L-phi.py
File metadata and controls
54 lines (41 loc) · 1.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import matplotlib.pyplot as plt
import numpy as np
# Параметры стенда для phi в R-L и L-R
R1 = 220 # Ом
Lk = 0.1 # Гн
Rk = 190 # Ом
C = 4.4e-6 # Ф
# Диапазон логарифма частоты (lg ω)
lg_omega = np.linspace(2, 5, 500) # lg ω от 2 до 5 (ω от 100 до 100000 рад/с)
omega = 10**lg_omega
# Формулы для цепей R-L и L-R
phi_R_L = np.arctan(omega * Lk / Rk) - np.arctan(omega * Lk / (R1 + Rk))
phi_L_R = - np.arctan(omega * Lk / (R1 + Rk))
phi_deg_R_L = np.degrees(phi_R_L)
phi_deg_L_R = np.degrees(phi_L_R)
# Создаем график
plt.figure(figsize=(10, 6))
plt.plot(lg_omega, phi_deg_R_L, "black", linewidth=2, markersize=6, label="1 четверть")
plt.plot(lg_omega, phi_deg_L_R, "black", linewidth=2, markersize=6, label="4 четверть")
# Миллиметровая сетка
plt.grid(True, which="both", alpha=0.3)
plt.minorticks_on()
# Настройка осей
plt.xlim(1.9, 4.2)
plt.ylim(-90, 100)
# Деления по оси X
x_ticks = np.arange(2.1, 4.3, 0.3)
plt.xticks(x_ticks)
# Линия y=0
plt.axhline(y=0, color="black", linewidth=1)
# Подписи
plt.xlabel("lgω", fontsize=12)
plt.ylabel("$\\varphi$, град", fontsize=12)
# Сетка по X и Y
plt.xticks(np.arange(1.9, 4.2, 0.02), minor=True)
plt.yticks(np.arange(-85, 91, 5))
plt.gca().set_yticks(np.arange(-91, 101, 1), minor=True)
# Отключение tight_layout
plt.subplots_adjust(left=0.1, right=0.9, top=0.9, bottom=0.1)
# plt.show
plt.savefig("R_L_phi.jpg")