diff --git a/course2/sem3/labs/lab3.01/assets/1.png b/course2/sem3/labs/lab3.01/assets/1.png new file mode 100644 index 0000000..cb6c5bc Binary files /dev/null and b/course2/sem3/labs/lab3.01/assets/1.png differ diff --git a/course2/sem3/labs/lab3.01/assets/2.png b/course2/sem3/labs/lab3.01/assets/2.png new file mode 100644 index 0000000..4618430 Binary files /dev/null and b/course2/sem3/labs/lab3.01/assets/2.png differ diff --git a/course2/sem3/labs/lab3.01/assets/3.png b/course2/sem3/labs/lab3.01/assets/3.png new file mode 100644 index 0000000..8980246 Binary files /dev/null and b/course2/sem3/labs/lab3.01/assets/3.png differ diff --git a/course2/sem3/labs/lab3.01/assets/4.png b/course2/sem3/labs/lab3.01/assets/4.png new file mode 100644 index 0000000..885b96f Binary files /dev/null and b/course2/sem3/labs/lab3.01/assets/4.png differ diff --git a/course2/sem3/labs/lab3.01/assets/5.png b/course2/sem3/labs/lab3.01/assets/5.png new file mode 100644 index 0000000..3127caf Binary files /dev/null and b/course2/sem3/labs/lab3.01/assets/5.png differ diff --git a/course2/sem3/labs/lab3.01/scripts/points.png b/course2/sem3/labs/lab3.01/assets/6.png similarity index 100% rename from course2/sem3/labs/lab3.01/scripts/points.png rename to course2/sem3/labs/lab3.01/assets/6.png diff --git a/course2/sem3/labs/lab3.01/assets/7.png b/course2/sem3/labs/lab3.01/assets/7.png new file mode 100644 index 0000000..29f23a8 Binary files /dev/null and b/course2/sem3/labs/lab3.01/assets/7.png differ diff --git a/course2/sem3/labs/lab3.01/assets/8.png b/course2/sem3/labs/lab3.01/assets/8.png new file mode 100644 index 0000000..12ce08b Binary files /dev/null and b/course2/sem3/labs/lab3.01/assets/8.png differ diff --git a/course2/sem3/labs/lab3.01/report.pdf b/course2/sem3/labs/lab3.01/report.pdf index 059719f..ae10f8d 100644 Binary files a/course2/sem3/labs/lab3.01/report.pdf and b/course2/sem3/labs/lab3.01/report.pdf differ diff --git a/course2/sem3/labs/lab3.01/report.typ b/course2/sem3/labs/lab3.01/report.typ index 0b3140b..75ae420 100644 --- a/course2/sem3/labs/lab3.01/report.typ +++ b/course2/sem3/labs/lab3.01/report.typ @@ -210,116 +210,119 @@ Сначала точки с миллиметровой бумаги были перенесены в компьютер при помощи программы в Приложении. -... +#align(center)[#image("assets/1.png")] +#align(center)[#image("assets/2.png")] + +Затем я соединил их эквипотенциальными линиями. + +#align(center)[#image("assets/3.png")] +#align(center)[#image("assets/4.png")] + +После, я добавил систему линий поля: + +#align(center)[#image("assets/5.png")] +#align(center)[#image("assets/6.png")] === 10. Расчет величины напряженности. -Расстояние между эквипотенциалями $phi = 5.89 "В"$ и $φ = 7.89 "В"$: +Напряженность в центре ванны и поверхностная плотность заряда. + +По формуле $angle.l E_(12) angle.r approx.eq frac(phi_1 - phi_2, l_(12))$ величина напряженности в центре электролитической ванны между линиями с $phi = 5.89 " и " phi = 7.89$: + +При $y = 10 "см"$: $phi_4 = 5.89 "В"$ при $x = 12.5 "см"$; $phi_5 = 7.89 "В"$ при $x = 16.5 "см"$. $ -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 "В/м" +angle.l E_"ц" angle.r approx frac(phi_5 - phi_4, l_(45)) = frac(7.89 - 5.89, (165 - 125) times 10^(-3)) = 50.0 "В/м" $ -Берём точки у правого края при y = 10: $phi = 9.89 В$, $phi = 11.89 В$. +В окрестности одного из электродов + +Аналогично в окрестности правого электрода между линиями с $phi = 9.89$ и $phi = 11.89$ + +Смотрим точки при $y = 10 "см"$: $phi = 9.89 "В"$ при $x = 21.3 "см"$; $phi = 11.89 "В"$ при $x = 25.6 "см"$. $ -l = 25.6 - 21.3 = 4.3 "см" = 0.043 "м" -Delta φ = 11.89 - 9.89 = 2.0 "В" +angle.l E_"э" angle.r approx frac(11.89 - 9.89, (256 - 213) times 10^(-3)) = 46.5 "В/м" +$ + +Поверхностная плотность + +Правый электрод находится при $X = 30 "см"$ с потенциалом $phi = 14 "В"$. + +Ближайшая измеренная точка: $phi = 11.89 "В"$ при $x = 25.6 "см"$ + +По нормали к электроду: + +$ +Delta phi = 14 - 11.89 = 2.11 "В" \ +Delta l_n = (300 - 256) times 10^(-3) = 44 × 10^(-3) "м" $ $ -E_"э" = (Delta φ)/l = (2.0)/(0.043) = 46.5 "В/м" +sigma' = -frac(epsilon - 1, epsilon) sigma $ -У правого электрода ближайшая точка: $φ = 11.89 "В"$ при $x = 25.6 "см"$ - -До электрода: $Delta l_n = 30 - 25.6 = 4.4 "см" = 0.044 м$ -До электрода $φ = 14 "В"$ - +Возьмём $epsilon = 79$. Тогда множитель $ -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) "Кл/м²" +frac(epsilon - 1, epsilon) = frac(79-1, 79) = frac(78, 79) approx 0.987341772. $ -Погрешности: - +Следовательно $ -Delta phi = plus.minus 0.1 "B", Delta X = plus.minus 1 "мм" +sigma' approx -0.987342 sigma $ -Для $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 +Если учитывать максимальное значение $epsilon = 81$: -Delta E_"ц" = 47.6 dot 0.111 = 5.3 "В/м" +$ +frac(80, 81) approx 0.987654321 space.quad arrow.double space.quad sigma' approx -0.987654 sigma. $ -=== 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 В/м** +=== 12. Нахождение $E_min$ и $E_max$. -**Справа от кольца (φ = 8.4 → 9.4):** -- При Y=10: от (21.8, 10) до (22.9, 10), расстояние ≈ 1.1 см -- E = 1.0 В / 0.011 м = **90.9 В/м** +Между $phi = 8.4$ и $phi = 9.4$ справа от кольца. -**Между φ = 9.4 и 10.4:** -- При Y=10: от (22.9, 10) до (24.6, 10), расстояние ≈ 1.7 см -- E = 1.0 В / 0.017 м = **58.8 В/м** +$ +Delta x = 1.1 "см" = 0.011 "м" +$ -**Вблизи кольца (φ = 6.4 → 7.4):** -- Внутри кольца данных мало, но расстояние большое (пропуск φ = 7.4 в центре) +$ +E = frac(1.0, 0.011) = 90.9 "В/м" +$ -### Поиск минимальной напряженности E_min +$ +E_max = 91 "В/м", space (22.4, 10) +$ -**Внутри/вблизи кольца:** -- От φ = 6.4 (точка 8.8, 10) до φ = 7.4 отсутствуют промежуточные точки -- До φ = 8.4 (точка 21.8, 10): расстояние ≈ 13 см! -- E = 2.0 В / 0.13 м = **15.4 В/м** (очень низкая) +Между $φ = 6.4$ и $φ = 8.4$ +Путь $approx 6 "см" = 0.06 "м"$ -**Центр ванны без кольца в районе кольца:** -- От φ = 5.4 до φ = 6.4: расстояние большое из-за искажения поля кольцом +$ +E = frac(2.0, 0.06) = 33.3 "В/м" +$ ---- +$ +E_min = 33 "В/м", space (15, 9) +$ -## РЕЗУЛЬТАТЫ: +Точки $E_min$ и $E_max$: -### **E_max ≈ 83-91 В/м** (округляем до **E_max = 90 В/м** или **85 В/м**) +#align(center)[#image("assets/7.png")] -**Расположение:** -- Справа от кольца, между φ = 8.4 В и φ = 9.4 В -- Координаты: примерно X = 22-23 см, Y = 10 см -- **Область:** Между кольцом и правым электродом, где эквипотенциальные линии максимально сближены +=== 13. Построение графика $phi = phi(x), space y = 10 "см"$. -### **E_min ≈ 15-30 В/м** (округляем до **E_min = 30 В/м** или **33 В/м**) +#align(center)[#image("assets/8.png")] -**Расположение:** -- В области вблизи кольца/внутри кольца -- Между φ = 6.4 В и φ = 8.4 В -- Координаты: X = 9-16 см, Y = 10 см -- **Область:** Около проводящего кольца и внутри него, где эквипотенциальные линии разрежены +=== 14. Вывод. ---- +### Вывод -## Физическое объяснение: +В ходе работы экспериментально построены эквипотенциальные линии и силовые линии поля для двух конфигураций — без кольца и с кольцом. -1. **Максимум E_max** наблюдается справа от кольца, потому что: - - Силовые линии огибают проводящее кольцо - - Они концентрируются в узких промежутках - - Эквипотенциали сближаются → E увеличивается +В центре ванны напряжённость составила $E_"ц" approx 50 "В/м"$, у правого электрода — $E_"э" approx 46.5 "В/м"$. -2. **Минимум E_min** наблюдается около/внутри кольца, потому что: - - Внутри проводника E = 0 (φ = const) - - Кольцо "экранирует" поле - - Эквипотенциали разрежены в этой области +Для системы с кольцом найдены: +$E_max approx 91 "В/м"$ и $E_"min" approx 33 "В/м"$. -**Для отчёта можно написать:** -- **E_max = 83 В/м** (справа от кольца, X ≈ 22 см, Y = 10 см) -- **E_min = 33 В/м** (вблизи кольца, X ≈ 12 см, Y = 10 см) +Поверхностная плотность наведённого заряда определяется как $sigma' = -frac(epsilon-1, epsilon) sigma approx -0.987 sigma$ при $epsilon = 79$, что показывает почти полное экранирование поля водой. diff --git a/course2/sem3/labs/lab3.01/scripts/4.py b/course2/sem3/labs/lab3.01/scripts/4.py new file mode 100644 index 0000000..37dd396 --- /dev/null +++ b/course2/sem3/labs/lab3.01/scripts/4.py @@ -0,0 +1,92 @@ +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} В") + + 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) + + emax_x, emax_y = 22.4, 10 + emin_x, emin_y = 15, 9 + + plt.arrow( + emax_x + 2, + emax_y + 2, + -1.5, + -1.2, + head_width=0.4, + head_length=0.3, + fc="darkgreen", + ec="darkgreen", + linewidth=2, + ) + plt.text(emax_x + 2.3, emax_y + 2.3, "E_max", fontsize=11, color="darkgreen") + + plt.arrow( + emin_x - 3, + emin_y + 3, + 1.5, + -1.5, + head_width=0.4, + head_length=0.3, + fc="darkgreen", + ec="darkgreen", + linewidth=2, + ) + plt.text(emin_x - 4.2, emin_y + 3.2, "E_min", fontsize=11, color="darkgreen") + + plt.xlabel("X (см)") + plt.ylabel("Y (см)") + plt.title("Эквипотенциальные линии") + plt.savefig("points.png", dpi=300) + + +if __name__ == "__main__": + main() diff --git a/course2/sem3/labs/lab3.01/scripts/5.py b/course2/sem3/labs/lab3.01/scripts/5.py new file mode 100644 index 0000000..c8c3466 --- /dev/null +++ b/course2/sem3/labs/lab3.01/scripts/5.py @@ -0,0 +1,55 @@ +from pathlib import Path +from typing import List, Tuple + +import matplotlib.pyplot as plt + + +def read_points(filename: str) -> List[Tuple[float, float, float]]: + pts = [] + for line in Path(filename).read_text(encoding="utf-8").splitlines(): + line = line.strip() + if not line or line.startswith("#"): + continue + parts = line.split() + if len(parts) < 3: + continue + x = float(parts[0]) + y = float(parts[1]) + phi = float(parts[2]) + pts.append((x, y, phi)) + return pts + + +def phi_vs_x_at_y( + points: List[Tuple[float, float, float]], y_target: float, tol: float = 1e-6 +): + xs = [] + phis = [] + for x, y, phi in points: + if abs(y - y_target) <= tol: + xs.append(x) + phis.append(phi) + paired = sorted(zip(xs, phis), key=lambda p: p[0]) + if not paired: + return [], [] + xs_sorted, phis_sorted = zip(*paired) + return list(xs_sorted), list(phis_sorted) + + +p1 = read_points("points1.txt") +p2 = read_points("points2.txt") + +x1, yphi1 = phi_vs_x_at_y(p1, 10.0) +x2, yphi2 = phi_vs_x_at_y(p2, 10.0) + +plt.figure(figsize=(10, 5)) +if x1: + plt.plot(x1, yphi1, marker="o", linestyle="-", label="points1.txt (Y=10)") +if x2: + plt.plot(x2, yphi2, marker="s", linestyle="--", label="points2.txt (Y=10)") +plt.xlabel("X (см)") +plt.ylabel("φ (В)") +plt.title("Зависимость φ = φ(X) при Y = 10 см") +plt.grid(alpha=0.4) +plt.legend() +plt.savefig("phi_vs_x_Y10.png", dpi=300)