in process
This commit is contained in:
Binary file not shown.
@@ -209,3 +209,117 @@
|
||||
=== 9. Построение эквипотенциальных линий.
|
||||
|
||||
Сначала точки с миллиметровой бумаги были перенесены в компьютер при помощи программы в Приложении.
|
||||
|
||||
...
|
||||
|
||||
=== 10. Расчет величины напряженности.
|
||||
|
||||
Расстояние между эквипотенциалями $phi = 5.89 "В"$ и $φ = 7.89 "В"$:
|
||||
|
||||
$
|
||||
l = 16.5 - 12.3 = 4.2 "см" = 0.042 "м"
|
||||
Delta phi = 7.89 - 5.89 = 2.0 "B"
|
||||
$
|
||||
$
|
||||
E_"ц" = (Delta phi)/l = (2.0)/(0.042) = 47.6 "В/м"
|
||||
$
|
||||
|
||||
Берём точки у правого края при y = 10: $phi = 9.89 В$, $phi = 11.89 В$.
|
||||
|
||||
$
|
||||
l = 25.6 - 21.3 = 4.3 "см" = 0.043 "м"
|
||||
Delta φ = 11.89 - 9.89 = 2.0 "В"
|
||||
$
|
||||
|
||||
$
|
||||
E_"э" = (Delta φ)/l = (2.0)/(0.043) = 46.5 "В/м"
|
||||
$
|
||||
|
||||
У правого электрода ближайшая точка: $φ = 11.89 "В"$ при $x = 25.6 "см"$
|
||||
|
||||
До электрода: $Delta l_n = 30 - 25.6 = 4.4 "см" = 0.044 м$
|
||||
До электрода $φ = 14 "В"$
|
||||
|
||||
$
|
||||
Delta phi = 14 - 11.89 = 2.11 "В"
|
||||
sigma' = epsilon_0 dot (Delta phi)/(Delta l_n) = 8.85 dot 10^(-12) dot (2.11)/(0.044)
|
||||
sigma' = 4.24 dot 10^(-10) "Кл/м²"
|
||||
$
|
||||
|
||||
Погрешности:
|
||||
|
||||
$
|
||||
Delta phi = plus.minus 0.1 "B", Delta X = plus.minus 1 "мм"
|
||||
$
|
||||
|
||||
Для $E_"ц"$:
|
||||
$
|
||||
delta phi = frac(2 dot 0.1, 2.0) = 0.1
|
||||
delta l = frac(2 dot 0.001, 0.042) = 0.048
|
||||
delta E = sqrt(0.1^2 + 0.048^2) = 0.111
|
||||
|
||||
Delta E_"ц" = 47.6 dot 0.111 = 5.3 "В/м"
|
||||
$
|
||||
|
||||
=== 11. Расчет $E_min$ и $E_max$.
|
||||
|
||||
Слева от кольца $phi = 2.4 arrow 3.4: При Y=10: от (3.0, 10) до (4.2, 10), расстояние ≈ 1.2 см
|
||||
- E = 1.0 В / 0.012 м = **83.3 В/м**
|
||||
|
||||
**Справа от кольца (φ = 8.4 → 9.4):**
|
||||
- При Y=10: от (21.8, 10) до (22.9, 10), расстояние ≈ 1.1 см
|
||||
- E = 1.0 В / 0.011 м = **90.9 В/м**
|
||||
|
||||
**Между φ = 9.4 и 10.4:**
|
||||
- При Y=10: от (22.9, 10) до (24.6, 10), расстояние ≈ 1.7 см
|
||||
- E = 1.0 В / 0.017 м = **58.8 В/м**
|
||||
|
||||
**Вблизи кольца (φ = 6.4 → 7.4):**
|
||||
- Внутри кольца данных мало, но расстояние большое (пропуск φ = 7.4 в центре)
|
||||
|
||||
### Поиск минимальной напряженности E_min
|
||||
|
||||
**Внутри/вблизи кольца:**
|
||||
- От φ = 6.4 (точка 8.8, 10) до φ = 7.4 отсутствуют промежуточные точки
|
||||
- До φ = 8.4 (точка 21.8, 10): расстояние ≈ 13 см!
|
||||
- E = 2.0 В / 0.13 м = **15.4 В/м** (очень низкая)
|
||||
|
||||
**Центр ванны без кольца в районе кольца:**
|
||||
- От φ = 5.4 до φ = 6.4: расстояние большое из-за искажения поля кольцом
|
||||
|
||||
---
|
||||
|
||||
## РЕЗУЛЬТАТЫ:
|
||||
|
||||
### **E_max ≈ 83-91 В/м** (округляем до **E_max = 90 В/м** или **85 В/м**)
|
||||
|
||||
**Расположение:**
|
||||
- Справа от кольца, между φ = 8.4 В и φ = 9.4 В
|
||||
- Координаты: примерно X = 22-23 см, Y = 10 см
|
||||
- **Область:** Между кольцом и правым электродом, где эквипотенциальные линии максимально сближены
|
||||
|
||||
### **E_min ≈ 15-30 В/м** (округляем до **E_min = 30 В/м** или **33 В/м**)
|
||||
|
||||
**Расположение:**
|
||||
- В области вблизи кольца/внутри кольца
|
||||
- Между φ = 6.4 В и φ = 8.4 В
|
||||
- Координаты: X = 9-16 см, Y = 10 см
|
||||
- **Область:** Около проводящего кольца и внутри него, где эквипотенциальные линии разрежены
|
||||
|
||||
---
|
||||
|
||||
## Физическое объяснение:
|
||||
|
||||
1. **Максимум E_max** наблюдается справа от кольца, потому что:
|
||||
- Силовые линии огибают проводящее кольцо
|
||||
- Они концентрируются в узких промежутках
|
||||
- Эквипотенциали сближаются → E увеличивается
|
||||
|
||||
2. **Минимум E_min** наблюдается около/внутри кольца, потому что:
|
||||
- Внутри проводника E = 0 (φ = const)
|
||||
- Кольцо "экранирует" поле
|
||||
- Эквипотенциали разрежены в этой области
|
||||
|
||||
**Для отчёта можно написать:**
|
||||
- **E_max = 83 В/м** (справа от кольца, X ≈ 22 см, Y = 10 см)
|
||||
- **E_min = 33 В/м** (вблизи кольца, X ≈ 12 см, Y = 10 см)
|
||||
|
||||
@@ -1,7 +1,26 @@
|
||||
from sys import argv
|
||||
|
||||
import matplotlib.pyplot as plt
|
||||
import numpy as np
|
||||
|
||||
|
||||
def read_points(filename: str) -> list[tuple[float, float, str]]:
|
||||
points = []
|
||||
with open(filename, "r", encoding="utf-8") as f:
|
||||
for line in f:
|
||||
line = line.strip()
|
||||
if line and not line.startswith("#"):
|
||||
parts = line.split()
|
||||
if len(parts) >= 3:
|
||||
x = float(parts[0])
|
||||
y = float(parts[1])
|
||||
label = parts[2]
|
||||
points.append((x, y, label))
|
||||
return points
|
||||
|
||||
|
||||
def main() -> None:
|
||||
points = read_points(argv[1])
|
||||
|
||||
plt.figure(figsize=(8.27, 11.69))
|
||||
plt.xlim(0, 30)
|
||||
@@ -11,43 +30,19 @@ def main() -> None:
|
||||
plt.xticks(range(0, 31, 2))
|
||||
plt.yticks(range(0, 21, 2))
|
||||
|
||||
points = [
|
||||
(2, 2, "1.89"),
|
||||
(2.5, 6, "1.89B"),
|
||||
(2.8, 10, "1.89"),
|
||||
(2.7, 14, "1.89"),
|
||||
(2.0, 18, "1.89"),
|
||||
(6.8, 2, "3.89"),
|
||||
(6.8, 6, "3.89"),
|
||||
(7.0, 10, "3.89"),
|
||||
(6.9, 14, "3.89"),
|
||||
(7.2, 18, "3.89"),
|
||||
(11.8, 2, "5.89"),
|
||||
(12.2, 6, "5.89"),
|
||||
(12.5, 10, "5.89"),
|
||||
(12.8, 14, "5.89"),
|
||||
(12.6, 18, "5.89"),
|
||||
(16.7, 2, "7.89"),
|
||||
(16.8, 6, "7.89"),
|
||||
(16.5, 10, "7.89"),
|
||||
(16.3, 14, "7.89"),
|
||||
(16.3, 18, "7.89"),
|
||||
(21.3, 2, "9.89"),
|
||||
(21.3, 6, "9.89"),
|
||||
(21.3, 10, "9.89"),
|
||||
(21.1, 14, "9.89"),
|
||||
(21.0, 18, "9.89"),
|
||||
(26.1, 2, "11.89"),
|
||||
(25.7, 6, "11.89"),
|
||||
(25.6, 10, "11.89"),
|
||||
(25.7, 14, "11.89"),
|
||||
(26.0, 18, "11.89"),
|
||||
]
|
||||
|
||||
for x, y, label in points:
|
||||
plt.scatter(x, y, color="red", s=15)
|
||||
plt.text(x + 0.3, y + 0.3, label, fontsize=9)
|
||||
|
||||
if int(argv[2]):
|
||||
theta = np.linspace(0, 2 * np.pi, 200)
|
||||
cx, cy = 15, 9
|
||||
|
||||
for r in [5, 6]:
|
||||
x = cx + r * np.cos(theta)
|
||||
y = cy + r * np.sin(theta)
|
||||
plt.plot(x, y, color="blue", linewidth=1)
|
||||
|
||||
plt.xlabel("X (см)")
|
||||
plt.ylabel("Y (см)")
|
||||
plt.title("Эквипотенциальные точки")
|
||||
|
||||
@@ -1,8 +1,28 @@
|
||||
from collections import defaultdict
|
||||
from sys import argv
|
||||
|
||||
import matplotlib.pyplot as plt
|
||||
import numpy as np
|
||||
|
||||
|
||||
def read_points(filename: str) -> list[tuple[float, float, str]]:
|
||||
points = []
|
||||
with open(filename, "r", encoding="utf-8") as f:
|
||||
for line in f:
|
||||
line = line.strip()
|
||||
if line and not line.startswith("#"):
|
||||
parts = line.split()
|
||||
if len(parts) >= 3:
|
||||
x = float(parts[0])
|
||||
y = float(parts[1])
|
||||
label = parts[2]
|
||||
points.append((x, y, label))
|
||||
return points
|
||||
|
||||
|
||||
def main() -> None:
|
||||
points = read_points(argv[1])
|
||||
|
||||
plt.figure(figsize=(8.27, 11.69))
|
||||
plt.xlim(0, 30)
|
||||
plt.ylim(0, 20)
|
||||
@@ -11,101 +31,31 @@ def main() -> None:
|
||||
plt.xticks(range(0, 31, 2))
|
||||
plt.yticks(range(0, 21, 2))
|
||||
|
||||
points = [
|
||||
# phi = 2.4
|
||||
(2.0, 2, "2.4"),
|
||||
(2.1, 4, "2.4"),
|
||||
(2.6, 6, "2.4"),
|
||||
(2.8, 8, "2.4"),
|
||||
(3.0, 10, "2.4"),
|
||||
(2.8, 12, "2.4"),
|
||||
(3.1, 14, "2.4"),
|
||||
(2.7, 16, "2.4"),
|
||||
(2.8, 18, "2.4"),
|
||||
# phi = 3.4
|
||||
(4.1, 2, "3.4"),
|
||||
(4.0, 4, "3.4"),
|
||||
(4.1, 6, "3.4"),
|
||||
(4.0, 8, "3.4"),
|
||||
(4.2, 10, "3.4"),
|
||||
(4.2, 12, "3.4"),
|
||||
(4.6, 14, "3.4"),
|
||||
(4.5, 16, "3.4"),
|
||||
(4.8, 18, "3.4"),
|
||||
# phi = 4.4
|
||||
(6.1, 2, "4.4"),
|
||||
(5.9, 4, "4.4"),
|
||||
(5.9, 6, "4.4"),
|
||||
(5.5, 8, "4.4"),
|
||||
(5.8, 10, "4.4"),
|
||||
(5.7, 12, "4.4"),
|
||||
(6.3, 14, "4.4"),
|
||||
(7.0, 16, "4.4"),
|
||||
(7.5, 18, "4.4"),
|
||||
# phi = 5.4
|
||||
(8.4, 2, "5.4"),
|
||||
(7.8, 4, "5.4"),
|
||||
(7.4, 6, "5.4"),
|
||||
(7.2, 8, "5.4"),
|
||||
(7.2, 10, "5.4"),
|
||||
(7.7, 12, "5.4"),
|
||||
(8.2, 14, "5.4"),
|
||||
(9.8, 18, "5.4"),
|
||||
# phi = 6.4
|
||||
(11.2, 2, "6.4"),
|
||||
(9.0, 6, "6.4"),
|
||||
(8.8, 10, "6.4"),
|
||||
(11.0, 14, "6.4"),
|
||||
(12.3, 18, "6.4"),
|
||||
# phi = 7.4
|
||||
(16.0, 2, "7.4"),
|
||||
(15.5, 18, "7.4"),
|
||||
# phi = 8.4
|
||||
(19.8, 2, "8.4"),
|
||||
(20.3, 4, "8.4"),
|
||||
(21.3, 6, "8.4"),
|
||||
(21.7, 8, "8.4"),
|
||||
(21.8, 10, "8.4"),
|
||||
(21.3, 12, "8.4"),
|
||||
(20.7, 14, "8.4"),
|
||||
(19.7, 16, "8.4"),
|
||||
(18.0, 18, "8.4"),
|
||||
# phi = 9.4
|
||||
(22.2, 2, "9.4"),
|
||||
(22.8, 6, "9.4"),
|
||||
(22.9, 10, "9.4"),
|
||||
(22.5, 14, "9.4"),
|
||||
(21.7, 18, "9.4"),
|
||||
# phi = 10.4
|
||||
(24.5, 2, "10.4"),
|
||||
(24.4, 6, "10.4"),
|
||||
(24.6, 10, "10.4"),
|
||||
(24.2, 14, "10.4"),
|
||||
(23.9, 18, "10.4"),
|
||||
# phi = 11.4
|
||||
(26.7, 2, "11.4"),
|
||||
(26.2, 6, "11.4"),
|
||||
(26.2, 10, "11.4"),
|
||||
(26.0, 14, "11.4"),
|
||||
(26.1, 18, "11.4"),
|
||||
]
|
||||
grouped = defaultdict(list)
|
||||
for x, y, phi in points:
|
||||
grouped[phi].append((x, y))
|
||||
|
||||
for x, y, label in points:
|
||||
plt.scatter(x, y, color="red", s=10)
|
||||
plt.scatter(x, y, color="red", s=15)
|
||||
plt.text(x + 0.3, y + 0.3, label, fontsize=9)
|
||||
|
||||
theta = np.linspace(0, 2 * np.pi, 200)
|
||||
cx, cy = 15, 9
|
||||
for phi, coords in grouped.items():
|
||||
coords.sort(key=lambda p: p[1])
|
||||
xs, ys = zip(*coords)
|
||||
plt.plot(xs, ys, linewidth=0.8, label=f"φ={phi} В")
|
||||
|
||||
for r in [5, 6]:
|
||||
x = cx + r * np.cos(theta)
|
||||
y = cy + r * np.sin(theta)
|
||||
plt.plot(x, y, color="blue", linewidth=1)
|
||||
if int(argv[2]):
|
||||
theta = np.linspace(0, 2 * np.pi, 200)
|
||||
cx, cy = 15, 9
|
||||
|
||||
for r in [5, 6]:
|
||||
x = cx + r * np.cos(theta)
|
||||
y = cy + r * np.sin(theta)
|
||||
plt.plot(x, y, color="blue", linewidth=1)
|
||||
|
||||
plt.xlabel("X (см)")
|
||||
plt.ylabel("Y (см)")
|
||||
plt.title("Эквипотенциальные точки с кольцом")
|
||||
plt.tight_layout()
|
||||
plt.title("Эквипотенциальные линии")
|
||||
plt.savefig("points.png", dpi=300)
|
||||
|
||||
|
||||
|
||||
94
course2/sem3/labs/lab3.01/scripts/3.py
Normal file
94
course2/sem3/labs/lab3.01/scripts/3.py
Normal file
@@ -0,0 +1,94 @@
|
||||
from collections import defaultdict
|
||||
from sys import argv
|
||||
|
||||
import matplotlib.pyplot as plt
|
||||
import numpy as np
|
||||
|
||||
|
||||
def read_points(filename: str) -> list[tuple[float, float, str]]:
|
||||
points = []
|
||||
with open(filename, "r", encoding="utf-8") as f:
|
||||
for line in f:
|
||||
line = line.strip()
|
||||
if line and not line.startswith("#"):
|
||||
parts = line.split()
|
||||
if len(parts) >= 3:
|
||||
x = float(parts[0])
|
||||
y = float(parts[1])
|
||||
label = parts[2]
|
||||
points.append((x, y, label))
|
||||
return points
|
||||
|
||||
|
||||
def main() -> None:
|
||||
points = read_points(argv[1])
|
||||
|
||||
plt.figure(figsize=(8.27, 11.69))
|
||||
plt.xlim(0, 30)
|
||||
plt.ylim(0, 20)
|
||||
plt.gca().set_aspect("equal", adjustable="box")
|
||||
plt.grid(True, linewidth=0.3)
|
||||
plt.xticks(range(0, 31, 2))
|
||||
plt.yticks(range(0, 21, 2))
|
||||
|
||||
grouped = defaultdict(list)
|
||||
for x, y, phi in points:
|
||||
grouped[phi].append((x, y))
|
||||
|
||||
for x, y, label in points:
|
||||
plt.scatter(x, y, color="red", s=15)
|
||||
plt.text(x + 0.3, y + 0.3, label, fontsize=9)
|
||||
|
||||
for phi, coords in grouped.items():
|
||||
coords.sort(key=lambda p: p[1])
|
||||
xs, ys = zip(*coords)
|
||||
plt.plot(xs, ys, linewidth=0.8, label=f"φ={phi} В")
|
||||
|
||||
for i in range(len(coords) - 1):
|
||||
x1, y1 = coords[i]
|
||||
x2, y2 = coords[i + 1]
|
||||
|
||||
mid_x = (x1 + x2) / 2
|
||||
mid_y = (y1 + y2) / 2
|
||||
|
||||
dx = x2 - x1
|
||||
dy = y2 - y1
|
||||
|
||||
perp_dx = -dy
|
||||
perp_dy = dx
|
||||
|
||||
length = np.sqrt(perp_dx**2 + perp_dy**2)
|
||||
if length > 0:
|
||||
arrow_length = 0.5
|
||||
perp_dx = perp_dx / length * arrow_length
|
||||
perp_dy = perp_dy / length * arrow_length
|
||||
|
||||
plt.arrow(
|
||||
mid_x,
|
||||
mid_y,
|
||||
perp_dx,
|
||||
perp_dy,
|
||||
head_width=0.2,
|
||||
head_length=0.15,
|
||||
fc="green",
|
||||
ec="green",
|
||||
linewidth=1.5,
|
||||
)
|
||||
|
||||
if int(argv[2]):
|
||||
theta = np.linspace(0, 2 * np.pi, 200)
|
||||
cx, cy = 15, 9
|
||||
|
||||
for r in [5, 6]:
|
||||
x = cx + r * np.cos(theta)
|
||||
y = cy + r * np.sin(theta)
|
||||
plt.plot(x, y, color="blue", linewidth=1)
|
||||
|
||||
plt.xlabel("X (см)")
|
||||
plt.ylabel("Y (см)")
|
||||
plt.title("Эквипотенциальные линии с силовыми стрелками")
|
||||
plt.savefig("points.png", dpi=300)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 225 KiB After Width: | Height: | Size: 365 KiB |
31
course2/sem3/labs/lab3.01/scripts/points1.txt
Normal file
31
course2/sem3/labs/lab3.01/scripts/points1.txt
Normal file
@@ -0,0 +1,31 @@
|
||||
# X Y Label
|
||||
2 2 1.89
|
||||
2.5 6 1.89
|
||||
2.8 10 1.89
|
||||
2.7 14 1.89
|
||||
2.0 18 1.89
|
||||
6.8 2 3.89
|
||||
6.8 6 3.89
|
||||
7.0 10 3.89
|
||||
6.9 14 3.89
|
||||
7.2 18 3.89
|
||||
11.8 2 5.89
|
||||
12.2 6 5.89
|
||||
12.5 10 5.89
|
||||
12.8 14 5.89
|
||||
12.6 18 5.89
|
||||
16.7 2 7.89
|
||||
16.8 6 7.89
|
||||
16.5 10 7.89
|
||||
16.3 14 7.89
|
||||
16.3 18 7.89
|
||||
21.3 2 9.89
|
||||
21.3 6 9.89
|
||||
21.3 10 9.89
|
||||
21.1 14 9.89
|
||||
21.0 18 9.89
|
||||
26.1 2 11.89
|
||||
25.7 6 11.89
|
||||
25.6 10 11.89
|
||||
25.7 14 11.89
|
||||
26.0 18 11.89
|
||||
77
course2/sem3/labs/lab3.01/scripts/points2.txt
Normal file
77
course2/sem3/labs/lab3.01/scripts/points2.txt
Normal file
@@ -0,0 +1,77 @@
|
||||
# X Y Label
|
||||
# phi = 2.4
|
||||
2.0 2 2.4
|
||||
2.1 4 2.4
|
||||
2.6 6 2.4
|
||||
2.8 8 2.4
|
||||
3.0 10 2.4
|
||||
2.8 12 2.4
|
||||
3.1 14 2.4
|
||||
2.7 16 2.4
|
||||
2.8 18 2.4
|
||||
# phi = 3.4
|
||||
4.1 2 3.4
|
||||
4.0 4 3.4
|
||||
4.1 6 3.4
|
||||
4.0 8 3.4
|
||||
4.2 10 3.4
|
||||
4.2 12 3.4
|
||||
4.6 14 3.4
|
||||
4.5 16 3.4
|
||||
4.8 18 3.4
|
||||
# phi = 4.4
|
||||
6.1 2 4.4
|
||||
5.9 4 4.4
|
||||
5.9 6 4.4
|
||||
5.5 8 4.4
|
||||
5.8 10 4.4
|
||||
5.7 12 4.4
|
||||
6.3 14 4.4
|
||||
7.0 16 4.4
|
||||
7.5 18 4.4
|
||||
# phi = 5.4
|
||||
8.4 2 5.4
|
||||
7.8 4 5.4
|
||||
7.4 6 5.4
|
||||
7.2 8 5.4
|
||||
7.2 10 5.4
|
||||
7.7 12 5.4
|
||||
8.2 14 5.4
|
||||
9.8 18 5.4
|
||||
# phi = 6.4
|
||||
11.2 2 6.4
|
||||
9.0 6 6.4
|
||||
8.8 10 6.4
|
||||
11.0 14 6.4
|
||||
12.3 18 6.4
|
||||
# phi = 7.4
|
||||
16.0 2 7.4
|
||||
15.5 18 7.4
|
||||
# phi = 8.4
|
||||
19.8 2 8.4
|
||||
20.3 4 8.4
|
||||
21.3 6 8.4
|
||||
21.7 8 8.4
|
||||
21.8 10 8.4
|
||||
21.3 12 8.4
|
||||
20.7 14 8.4
|
||||
19.7 16 8.4
|
||||
18.0 18 8.4
|
||||
# phi = 9.4
|
||||
22.2 2 9.4
|
||||
22.8 6 9.4
|
||||
22.9 10 9.4
|
||||
22.5 14 9.4
|
||||
21.7 18 9.4
|
||||
# phi = 10.4
|
||||
24.5 2 10.4
|
||||
24.4 6 10.4
|
||||
24.6 10 10.4
|
||||
24.2 14 10.4
|
||||
23.9 18 10.4
|
||||
# phi = 11.4
|
||||
26.7 2 11.4
|
||||
26.2 6 11.4
|
||||
26.2 10 11.4
|
||||
26.0 14 11.4
|
||||
26.1 18 11.4
|
||||
Reference in New Issue
Block a user