惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
GbyAI
GbyAI
阮一峰的网络日志
阮一峰的网络日志
Cloudbric
Cloudbric
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
宝玉的分享
宝玉的分享
I
Intezer
Simon Willison's Weblog
Simon Willison's Weblog
博客园_首页
The Cloudflare Blog
C
Cisco Blogs
AWS News Blog
AWS News Blog
IT之家
IT之家
Cyberwarzone
Cyberwarzone
罗磊的独立博客
美团技术团队
V
V2EX
Project Zero
Project Zero
A
Arctic Wolf
C
Cyber Attacks, Cyber Crime and Cyber Security
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
月光博客
月光博客
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 聂微东
有赞技术团队
有赞技术团队
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
雷峰网
雷峰网
S
Schneier on Security
P
Privacy International News Feed
V
Visual Studio Blog
量子位
T
Tor Project blog
S
Securelist
腾讯CDC
A
About on SuperTechFans
T
Threat Research - Cisco Blogs
G
GRAHAM CLULEY
B
Blog RSS Feed
D
DataBreaches.Net
博客园 - 三生石上(FineUI控件)
B
Blog
NISL@THU
NISL@THU
L
Lohrmann on Cybersecurity
V
Vulnerabilities – Threatpost
人人都是产品经理
人人都是产品经理
博客园 - 【当耐特】
L
LINUX DO - 热门话题
Recorded Future
Recorded Future

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
Расчёт электрических цепей. Вторая часть
Щукин Максим · 2026-06-28 · via Все публикации подряд на Хабре

Расчёт электрических цепей. Вторая часть

Средний

9 мин

344

В прошлой статье мы рассчитывали основные показатели электрических цепей, учитывая температурную зависимость сопротивления. В этой статье мы учтём зависимость теплоёмкости от температуры  добавим охлаждение проводника из-за окружающей среды.

Электрические цепи

Электрические цепи

Код для моделирования первой цепи:

import numpy as np
from scipy.integrate import solve_ivp
import matplotlib.pyplot as plt

# Параметры меди
R0 = 400  # Ом, сопротивление при T0
alpha = 0.00393  # 1/К, температурный коэффициент сопротивления меди
T0 = 293  # К, начальная температура (20 °C)


# Теплоёмкость меди (аппроксимация в Дж/(кг·К))
def heat_capacity(T):
   # Коэффициенты подобраны для диапазона 200–1200 К
   a, b, c = 370, 0.2, 1e-4
   return a + b * (T - 273) + c * (T - 273) ** 2


# Масса проводника (пример: цилиндр диаметром 2 мм, длиной 1 м)
rho_copper = 8960  # кг/м³, плотность меди
diameter = 0.002  # м
length = 1.0  # м
volume = np.pi * (diameter / 2) ** 2 * length
mass = rho_copper * volume  # ~0.028 кг

# Коэффициент теплоотдачи (естественная конвекция)
k = 10  # Вт/(м²·К), примерное значение
surface_area = np.pi * diameter * length  # площадь поверхности
k_total = k * surface_area  # суммарный коэффициент теплоотдачи

# Температура окружающей среды
T_ambient = 293  # К

# ЭДС источника
U = 120  # В


# Функция для системы ОДУ
def dT_dt(t, T):
   T = T[0]  # извлекаем температуру из массива

   # Текущее сопротивление
   R_T = R0 * (1 + alpha * (T - T0))

   # Теплоёмкость при текущей температуре
   C_T = heat_capacity(T)

   # Мощность джоулева нагрева
   P_joule = U ** 2 / R_T

   # Мощность теплоотвода
   P_loss = k_total * (T - T_ambient)

   # Правая часть уравнения: (P_joule - P_loss) / (C_T * mass)
   dT = (P_joule - P_loss) / (C_T * mass)
   return [dT]


# Временной интервал моделирования
t_span = (0, 300)  # 0–300 секунд
t_eval = np.linspace(0, 300, 1000)

# Начальное условие
T_initial = [T0]  # начальная температура

# Решение ОДУ
solution = solve_ivp(dT_dt, t_span, T_initial, t_eval=t_eval, method='RK45')

# Извлекаем результаты
time = solution.t
temperature = solution.y[0]

# Пересчёт в градусы Цельсия для графиков
temperature_C = temperature - 273

# Расчёт дополнительных параметров для графиков
resistance = R0 * (1 + alpha * (temperature - T0))
heat_capacity_values = [heat_capacity(T) for T in temperature]
power_joule = U ** 2 / resistance
power_loss = k_total * (temperature - T_ambient)

# Построение графиков
fig, axes = plt.subplots(2, 2, figsize=(12, 8))
fig.suptitle('Моделирование нагрева медного проводника', fontsize=16)

# График 1: Температура vs время
axes[0, 0].plot(time, temperature_C, 'b-', linewidth=2)
axes[0, 0].set_xlabel('Время, с')
axes[0, 0].set_ylabel('Температура, °C')
axes[0, 0].grid(True)
axes[0, 0].set_title('Температура проводника')

# График 2: Сопротивление vs температура
axes[0, 1].plot(temperature_C, resistance, 'r-', linewidth=2)
axes[0, 1].set_xlabel('Температура, °C')
axes[0, 1].set_ylabel('Сопротивление, Ом')
axes[0, 1].grid(True)
axes[0, 1].set_title('Зависимость сопротивления от температуры')

# График 3: Теплоёмкость vs температура
axes[1, 0].plot(temperature_C, heat_capacity_values, 'g-', linewidth=2)
axes[1, 0].set_xlabel('Температура, °C')
axes[1, 0].set_ylabel('Теплоёмкость, Дж/(кг·К)')
axes[1, 0].grid(True)
axes[1, 0].set_title('Зависимость теплоёмкости от температуры')

# График 4: Мощности vs время
axes[1, 1].plot(time, power_joule, 'orange', label='Джоулев нагрев', linewidth=2)
axes[1, 1].plot(time, power_loss, 'purple', label='Теплоотвод', linewidth=2)
axes[1, 1].set_xlabel('Время, с')
axes[1, 1].set_ylabel('Мощность, Вт')
axes[1, 1].legend()
axes[1, 1].grid(True)
axes[1, 1].set_title('Баланс мощностей')

plt.tight_layout()
plt.show()

# Вывод ключевых результатов
print(f"Начальная температура: {T_initial[0] - 273:.1f} °C")
print(f"Конечная температура: {temperature_C[-1]:.1f} °C")
print(f"Начальное сопротивление: {R0:.3f} Ом")
print(f"Конечное сопротивление: {resistance[-1]:.3f} Ом")

Результат работы программы можно увидеть на графике:

Первая цепь

Первая цепь

  Из графиков видно, что температура будет увеличиваться до некоторого критического значения.

 Моделирование второй цепи:

import numpy as np
from scipy.integrate import solve_ivp
import matplotlib.pyplot as plt

# Параметры меди (те же, что и ранее)
R0 = 100  # Ом, сопротивление при T0
alpha = 0.00393  # 1/К, температурный коэффициент сопротивления меди
T0 = 293  # К, начальная температура (20 °C)


# Теплоёмкость меди (аппроксимация в Дж/(кг·К))
def heat_capacity(T):
   a, b, c = 370, 0.2, 1e-4
   return a + b * (T - 273) + c * (T - 273) ** 2


# Масса проводника (цилиндр диаметром 2 мм, длиной 1 м)
rho_copper = 8960  # кг/м³, плотность меди
diameter = 0.002  # м
length = 1.0  # м
volume = np.pi * (diameter / 2) ** 2 * length
mass = rho_copper * volume  # ~0.028 кг

# Коэффициент теплоотдачи (естественная конвекция)
k = 10  # Вт/(м²·К)
surface_area = np.pi * diameter * length  # площадь поверхности
k_total = k * surface_area  # суммарный коэффициент теплоотдачи

# Температура окружающей среды
T_ambient = 293  # К

# Параметры конденсатора
C_cap = 1  # Ф (10 000 мкФ)
U0 = 120  # В, начальное напряжение


# Функция для системы ОДУ (теперь 2 переменные: T и U)
def dY_dt(t, Y):
   T, U = Y  # температура и напряжение

   # Текущее сопротивление
   R_T = R0 * (1 + alpha * (T - T0))

   # Теплоёмкость при текущей температуре
   C_T = heat_capacity(T)

   # Мощность джоулева нагрева
   P_joule = U ** 2 / R_T

   # Мощность теплоотвода
   P_loss = k_total * (T - T_ambient)

   # Производные
   dT_dt = (P_joule - P_loss) / (C_T * mass)
   dU_dt = -U / (C_cap * R_T)

   return [dT_dt, dU_dt]


# Временной интервал моделирования
t_span = (0, 1000)  # 0–1000 секунд
t_eval = np.linspace(0, 1000, 1000)

# Начальные условия: [температура, напряжение]
Y_initial = [T0, U0]

# Решение системы ОДУ
solution = solve_ivp(dY_dt, t_span, Y_initial, t_eval=t_eval, method='RK45')

# Извлекаем результаты
time = solution.t
temperature = solution.y[0]
voltage = solution.y[1]

# Пересчёт в градусы Цельсия для графиков
temperature_C = temperature - 273

# Расчёт дополнительных параметров для графиков
resistance = R0 * (1 + alpha * (temperature - T0))
heat_capacity_values = [heat_capacity(T) for T in temperature]
current = voltage / resistance
power_joule = voltage ** 2 / resistance
power_loss = k_total * (temperature - T_ambient)

# Построение графиков
fig, axes = plt.subplots(2, 2, figsize=(12, 8))
fig.suptitle('Моделирование нагрева медного проводника от конденсатора', fontsize=16)

# График 1: Температура vs время
axes[0, 0].plot(time, temperature_C, 'b-', linewidth=2)
axes[0, 0].set_xlabel('Время, с')
axes[0, 0].set_ylabel('Температура, °C')
axes[0, 0].grid(True)
axes[0, 0].set_title('Температура проводника')

# График 2: Напряжение на конденсаторе vs время
axes[0, 1].plot(time, voltage, 'r-', linewidth=2)
axes[0, 1].set_xlabel('Время, с')
axes[0, 1].set_ylabel('Напряжение, В')
axes[0, 1].grid(True)
axes[0, 1].set_title('Разряд конденсатора')

# График 3: Ток vs время
axes[1, 0].plot(time, current, 'g-', linewidth=2)
axes[1, 0].set_xlabel('Время, с')
axes[1, 0].set_ylabel('Ток, А')
axes[1, 0].grid(True)
axes[1, 0].set_title('Ток разряда')

# График 4: Мощности vs время
axes[1, 1].plot(time, power_joule, 'orange', label='Джоулев нагрев', linewidth=2)
axes[1, 1].plot(time, power_loss, 'purple', label='Теплоотвод', linewidth=2)
axes[1, 1].set_xlabel('Время, с')
axes[1, 1].set_ylabel('Мощность, Вт')
axes[1, 1].legend()
axes[1, 1].grid(True)
axes[1, 1].set_title('Баланс мощностей')

plt.tight_layout()
plt.show()

# Вывод ключевых результатов
print(f"Начальная температура: {T0 - 273:.1f} °C")
print(f"Конечная температура: {temperature_C[-1]:.1f} °C")
print(f"Начальное напряжение: {U0:.1f} В")
print(f"Конечное напряжение: {voltage[-1]:.3f} В")
print(f"Масса проводника: {mass:.3f} кг")
print(f"Ёмкость конденсатора: {C_cap * 1e3:.0f} мФ")

Результат моделирования второй цепи:

Вторая цепь

Вторая цепь

Анализируя полученные графики, можно сказать, что проводник сначала будет нагреваться, а затем быстро охлаждаться, а напряжение и ток в сети плавно убывают до нуля.

Напишем на python код для моделирования третьей цепи:

import numpy as np
from scipy.integrate import solve_ivp
import matplotlib.pyplot as plt

# Параметры меди
R0 = 1000  # Ом, сопротивление при T0
alpha = 0.00393  # 1/К, температурный коэффициент сопротивления меди
T0 = 293  # К, начальная температура (20 °C)

# Теплоёмкость меди (аппроксимация в Дж/(кг·К))
def heat_capacity(T):
   a, b, c = 370, 0.2, 1e-4
   return a + b * (T - 273) + c * (T - 273)**2


# Масса проводника (цилиндр диаметром 2 мм, длиной 1 м)
rho_copper = 8960  # кг/м³, плотность меди
diameter = 0.002  # м
length = 1.0  # м
volume = np.pi * (diameter/2)**2 * length
mass = rho_copper * volume  # ~0.028 кг

# Коэффициент теплоотдачи (естественная конвекция)
k = 10  # Вт/(м²·К)
surface_area = np.pi * diameter * length  # площадь поверхности
k_total = k * surface_area  # суммарный коэффициент теплоотдачи

# Температура окружающей среды
T_ambient = 293  # К

# Параметры цепи
E_emf = 220  # В, ЭДС источника
L_coil = 10  # Гн (10 мГн), индуктивность катушки

# Функция для системы ОДУ (2 переменные: ток I и температура T)
def dY_dt(t, Y):
   I, T = Y  # ток и температура

   # Текущее сопротивление проводника
   R_T = R0 * (1 + alpha * (T - T0))

   # Теплоёмкость при текущей температуре
   C_T = heat_capacity(T)

   # Производные
   dI_dt = (E_emf - R_T * I) / L_coil
   dT_dt = (I**2 * R_T - k_total * (T - T_ambient)) / (C_T * mass)

   return [dI_dt, dT_dt]

# Временной интервал моделирования
t_span = (0, 1000)  # 0–1000 секунд
t_eval = np.linspace(0, 1000, 1000)

# Начальные условия: [ток, температура]
Y_initial = [0.0, T0]  # начальный ток = 0, начальная температура = T0

# Решение системы ОДУ
solution = solve_ivp(dY_dt, t_span, Y_initial, t_eval=t_eval, method='RK45')

# Извлекаем результаты
time = solution.t
current = solution.y[0]
temperature = solution.y[1]

# Пересчёт в градусы Цельсия для графиков
temperature_C = temperature - 273

# Расчёт дополнительных параметров для графиков
resistance = R0 * (1 + alpha * (temperature - T0))
heat_capacity_values = [heat_capacity(T) for T in temperature]
power_joule = current**2 * resistance
power_loss = k_total * (temperature - T_ambient)
voltage_drop = current * resistance

# Построение графиков
fig, axes = plt.subplots(2, 2, figsize=(12, 8))
fig.suptitle('Моделирование нагрева медного проводника с катушкой', fontsize=16)

# График 1: Температура vs время
axes[0, 0].plot(time, temperature_C, 'b-', linewidth=2)
axes[0, 0].set_xlabel('Время, с')
axes[0, 0].set_ylabel('Температура, °C')
axes[0, 0].grid(True)
axes[0, 0].set_title('Температура проводника')

# График 2: Ток vs время
axes[0, 1].plot(time, current, 'r-', linewidth=2)
axes[0, 1].set_xlabel('Время, с')
axes[0, 1].set_ylabel('Ток, А')
axes[0, 1].grid(True)
axes[0, 1].set_title('Ток в цепи')

# График 3: Сопротивление vs температура
axes[1, 0].plot(temperature_C, resistance, 'g-', linewidth=2)
axes[1, 0].set_xlabel('Температура, °C')
axes[1, 0].set_ylabel('Сопротивление, Ом')
axes[1, 0].grid(True)
axes[1, 0].set_title('Зависимость сопротивления от температуры')

# График 4: Мощности vs время
axes[1, 1].plot(time, power_joule, 'orange', label='Джоулев нагрев', linewidth=2)
axes[1, 1].plot(time, power_loss, 'purple', label='Теплоотвод', linewidth=2)
axes[1, 1].set_xlabel('Время, с')
axes[1, 1].set_ylabel('Мощность, Вт')
axes[1, 1].legend()
axes[1, 1].grid(True)
axes[1, 1].set_title('Баланс мощностей')

plt.tight_layout()
plt.show()

# Вывод ключевых результатов
print(f"Начальная температура: {T0-273:.1f} °C")
print(f"Конечная температура: {temperature_C[-1]:.1f} °C")
print(f"Начальный ток: {current[0]:.3f} А")
print(f"Конечный ток: {current[-1]:.3f} А")
print(f"Масса проводника: {mass:.3f} кг")
print(f"Индуктивность катушки: {L_coil*1e3:.0f} мГн")
print(f"ЭДС источника: {E_emf:.1f} 

В итоге получим следующие графики:

Третья цепь

Третья цепь

Из анализа графиков получаем, что температура плавно растёт до некоторого критического значения,а ток сначала скачкообразно растёт, а затем плавно и медленно убывает до постоянной величины.

Таким образом, в данной статье построена самая реалистичная математическая модель, учитывающая множество различных факторов, получены графики и проведён их анализ.

Литература:

  • М. Н. Перунова «Расчёт электрических цепей: практикум» (Оренбург: ОГУ, 2014). В этом пособии тема разобрана на практике: есть задачи, где нужно учитывать температурную зависимость сопротивления, и пояснения, как это влияет на ток и напряжение в цепи. Хороший вариант, чтобы набить руку на типовых примерах. 

  • И. О. Мартынова «Электротехника» (для СПО). В учебнике есть раздел, посвящённый зависимости сопротивления проводника от температуры. Объясняется, почему при нагреве сопротивление меняется, и как это учитывать в расчётах. 

  • Ю. Г. Синдеев «Электротехника и основы электроники». В книге есть таблицы с удельными сопротивлениями и температурными коэффициентами для разных материалов (медь, алюминий, вольфрам, константан и др.) — это прямо пригодится при решении задач.

В. В. Чёрный, В. Э. Малаховская «Температурная зависимость сопротивления полупроводников и металлов» (Минск: БНТУ, 2016). Это учебно-методическое пособие глубже погружает в физику явления: разбирает, почему у металлов и полупроводников зависимость разная, как выводить формулы, как определять температурный коэффициент экспериментально. 

  • О. М. Полещук, Н. П. Полуэктов и др. «Исследование зависимости сопротивления металлов и полупроводников от температуры» (2021). Это учебно-методическое пособие. В нём не только теория (объясняется, почему у металлов и полупроводников разная природа зависимости), но и практическая часть: описана лабораторная установка и методика измерений. Полезно, если нужно связать теорию с реальными экспериментами или лабораторными работами. 

  • Г. И. Кольниченко, Я. В. Тарлаков, А. В. Сиротов, И. Н. Кравченко «Основы электротехники» (2-е изд., 2021). В учебнике есть разделы, где при расчётах цепей прямо учитывается изменение сопротивления элементов от температуры. Приведены примеры и задачи с развёрнутыми решениями — хорошо для отработки навыков. 

  • Ю. М. Осипов, П. А. Борисов «Методы расчёта линейных электрических цепей» (СПб.: НИУ ИТМО, 2012). В этом пособии тема рассматривается в контексте общих методов расчёта цепей. Авторы показывают, как учёт температурной зависимости меняет подход к решению задач (например, когда цепь перестаёт быть строго линейной) и какие итерационные методы можно применять для сложных случаев.