Бесплатный урок с нашим репетитором!

Узнать подробнее

Новая Школа - онлайн-школа подготовки к ЕГЭ
При поддержке
Посмотреть все вопросы нейросети
Бесплатный пробный урок с репетитором

Узнай больше про репетиторов Новой Школы и запишись на бесплатный пробный урок. Мы проверим твой уровень знаний и составим план обучения по любому предмету и классу

Вопрос от Анонимного юзера 27 ноября 2025 15:39

Построить график плавления ртути и олова (начальная температура -50)

Ответ нейросети

27 ноября 2025 15:39

Можно сделать два понятных варианта графика. Ниже приводжу Ready-to-run пример на Python (Matplotlib), который строит график зависимости температуры от времени при непрерывном нагреве для ртути (Hg) и олова (Sn) начиная с -50°C. В коде используются приближенные значения теплоёмкостей и теплоты плавления; их можно заменить на более точные из справочников.

Что получится:

  • для каждого металла температура будет расти, но при достижении точки плавления начнётся плавление и температура будет оставаться примерно на уровне точки плавления до тех пор, пока весь образец не расплавится (плато плавления);
  • затем температура продолжит расти после завершения плавления.

Где взять параметры (примеры, приблизительно):

  • Ртуть (Hg)
    • Точка плавления Tm ≈ -38.834 °C
    • Латентная теплоёмкость плавления Lf ≈ 56.4 kJ/kg
    • Cp_s ( Hg, solid ) ≈ 134 J/kg·K
    • Cp_l ( Hg, liquid ) ≈ 140 J/kg·K
    • M (молярная масса) ≈ 0.20059 kg/mol
  • Олово (Sn)
    • Точка плавления Tm ≈ 231.928 °C
    • Lf ≈ 59.3 kJ/kg
    • Cp_s ( Sn, solid ) ≈ 230 J/kg·K
    • Cp_l ( Sn, liquid ) ≈ 210 J/kg·K
    • M ≈ 0.11871 kg/mol

Пример кода (Python):

  • Установите mass m образца (например, 0.10 кг), мощность нагрева P (например, 50 Вт).
  • initial T0 = -50 (°C).

import math import numpy as np import matplotlib.pyplot as plt

def simulate(material, m, P, T0, dt, tmax): # material: словарь с параметрами # m: масса образца (кг) # P: мощность нагрева (Вт) # T0: начальная температура (°C) # dt: шаг времени (с) # tmax: максимальное время моделирования (с)

T = T0
f = 0.0  # доля расплавленного вещества (0..1)
t_results = []
T_results = []
f_results = []

t = 0.0
while t <= tmax:
    t_results.append(t)
    T_results.append(T)
    f_results.append(f)

    dQ = P * dt  # энергия за dt (Дж)

    # пока часть не расплавлена
    if f < 1.0:
        Tm = material['Tm']
        # 1) поднять температуру до Tm (если еще ниже)
        if T < Tm:
            Q_to_Tm = m * material['Cp_s'] * (Tm - T)
            if dQ < Q_to_Tm:
                T += dQ / (m * material['Cp_s'])
                dQ = 0.0
            else:
                dQ -= Q_to_Tm
                T = Tm

        # 2) плавление
        if dQ > 0.0:
            Q_to_melt = m * material['Lf'] * (1.0 - f)
            if dQ < Q_to_melt:
                df = dQ / (m * material['Lf'])
                f += df
                dQ = 0.0
            else:
                dQ -= Q_to_melt
                f = 1.0
                # если осталось энергия, нагреваем жидкость
    # после плавления или если всё расплавлено
    if f >= 1.0 and dQ > 0.0:
        T += dQ / (m * material['Cp_l'])
        dQ = 0.0

    t += dt

return {
    't': np.array(t_results),
    'T': np.array(T_results),
    'f': np.array(f_results)
}

Параметры (пример)

Hg = { 'name': 'Hg', 'Tm': -38.834, # °C 'Cp_s': 134.0, # J/(kg K) 'Cp_l': 140.0, # J/(kg K) 'Lf': 56360.0, # J/kg 'M': 0.20059 }

Sn = { 'name': 'Sn', 'Tm': 231.928, # °C 'Cp_s': 230.0, # J/(kg K) 'Cp_l': 210.0, # J/(kg K) 'Lf': 59340.0, # J/kg 'M': 0.11871 }

Параметры моделирования

m = 0.10 # масса образца, кг P = 50.0 # мощность нагрева, Вт T0 = -50.0 # начальная температура, °C dt = 0.5 # шаг времени, с tmax = 500.0 # максимальное время моделирования, с

res_Hg = simulate(Hg, m, P, T0, dt, tmax) res_Sn = simulate(Sn, m, P, T0, dt, tmax)

Построение графиков

plt.figure(figsize=(8,5)) plt.plot(res_Hg['t'], res_Hg['T'], label='Mercury (Hg)') plt.plot(res_Sn['t'], res_Sn['T'], label='Tin (Sn)') plt.axhline(y=Hg['Tm'], color='blue', linestyle=':', label='Hg Tm') plt.axhline(y=Sn['Tm'], color='orange', linestyle=':', label='Sn Tm') plt.xlabel('Время t (с)') plt.ylabel('Температура T (°C)') plt.title('График плавления: T(t) при нагреве образцов Hg и Sn (нач. T = -50 °C)') plt.legend() plt.grid(True) plt.tight_layout() plt.show()

Что вы получите:

  • график T(t) для Hg и Sn на одном графике;
  • для Hg начнётся плавление около -38.8°C, для Sn — около 231.9°C;
  • после достижения Tm для каждого металла будет плато плавления, затем температура снова начнёт расти после завершения плавления.

Если хотите другой вид графика:

  • график T vs затраченное тепло (T(Q)) для каждого металла;
  • или фазовую диаграмму (положение фаз в зависимости от P–T).

Уточните, какой именно вид графика вам нужен (T(t), T(Q), или диаграмма P–T), и какие параметры массы и мощности вы планируете использовать — подстрою код под ваши данные.

Задай свой вопрос

Напиши любую задачу или вопрос, а нейросеть её решит

Похожие вопросы 15

Бесплатно Мобильное приложение ГДЗ
Мобильное приложение ГДЗ

Задавай вопросы искуcственному интеллекту текстом или фотографиями в приложении на iPhone или Android

qr-codegoogle-playapp-store

Саша — ассистент в телеграмме

построить график плавления ртути и олова (начальная температура -50)
Можно сделать два понятных варианта графика. Ниже приводжу Ready-to-run пример на Python (Matplotlib), который строит график зависимости температуры от времени при непрерывном нагреве для ртути (Hg) и олова (Sn) начиная с -50°C. В коде используются приближенные значения теплоёмкостей и теплоты плавления; их можно заменить на более точные из справочников. Что получится: - для каждого металла температура будет расти, но при достижении точки плавления начнётся плавление и температура будет оставаться примерно на уровне точки плавления до тех пор, пока весь образец не расплавится (плато плавления); - затем температура продолжит расти после завершения плавления. Где взять параметры (примеры, приблизительно): - Ртуть (Hg) - Точка плавления Tm ≈ -38.834 °C - Латентная теплоёмкость плавления Lf ≈ 56.4 kJ/kg - Cp_s ( Hg, solid ) ≈ 134 J/kg·K - Cp_l ( Hg, liquid ) ≈ 140 J/kg·K - M (молярная масса) ≈ 0.20059 kg/mol - Олово (Sn) - Точка плавления Tm ≈ 231.928 °C - Lf ≈ 59.3 kJ/kg - Cp_s ( Sn, solid ) ≈ 230 J/kg·K - Cp_l ( Sn, liquid ) ≈ 210 J/kg·K - M ≈ 0.11871 kg/mol Пример кода (Python): - Установите mass m образца (например, 0.10 кг), мощность нагрева P (например, 50 Вт). - initial T0 = -50 (°C). import math import numpy as np import matplotlib.pyplot as plt def simulate(material, m, P, T0, dt, tmax): # material: словарь с параметрами # m: масса образца (кг) # P: мощность нагрева (Вт) # T0: начальная температура (°C) # dt: шаг времени (с) # tmax: максимальное время моделирования (с) T = T0 f = 0.0 # доля расплавленного вещества (0..1) t_results = [] T_results = [] f_results = [] t = 0.0 while t <= tmax: t_results.append(t) T_results.append(T) f_results.append(f) dQ = P * dt # энергия за dt (Дж) # пока часть не расплавлена if f < 1.0: Tm = material['Tm'] # 1) поднять температуру до Tm (если еще ниже) if T < Tm: Q_to_Tm = m * material['Cp_s'] * (Tm - T) if dQ < Q_to_Tm: T += dQ / (m * material['Cp_s']) dQ = 0.0 else: dQ -= Q_to_Tm T = Tm # 2) плавление if dQ > 0.0: Q_to_melt = m * material['Lf'] * (1.0 - f) if dQ < Q_to_melt: df = dQ / (m * material['Lf']) f += df dQ = 0.0 else: dQ -= Q_to_melt f = 1.0 # если осталось энергия, нагреваем жидкость # после плавления или если всё расплавлено if f >= 1.0 and dQ > 0.0: T += dQ / (m * material['Cp_l']) dQ = 0.0 t += dt return { 't': np.array(t_results), 'T': np.array(T_results), 'f': np.array(f_results) } # Параметры (пример) Hg = { 'name': 'Hg', 'Tm': -38.834, # °C 'Cp_s': 134.0, # J/(kg K) 'Cp_l': 140.0, # J/(kg K) 'Lf': 56360.0, # J/kg 'M': 0.20059 } Sn = { 'name': 'Sn', 'Tm': 231.928, # °C 'Cp_s': 230.0, # J/(kg K) 'Cp_l': 210.0, # J/(kg K) 'Lf': 59340.0, # J/kg 'M': 0.11871 } # Параметры моделирования m = 0.10 # масса образца, кг P = 50.0 # мощность нагрева, Вт T0 = -50.0 # начальная температура, °C dt = 0.5 # шаг времени, с tmax = 500.0 # максимальное время моделирования, с res_Hg = simulate(Hg, m, P, T0, dt, tmax) res_Sn = simulate(Sn, m, P, T0, dt, tmax) # Построение графиков plt.figure(figsize=(8,5)) plt.plot(res_Hg['t'], res_Hg['T'], label='Mercury (Hg)') plt.plot(res_Sn['t'], res_Sn['T'], label='Tin (Sn)') plt.axhline(y=Hg['Tm'], color='blue', linestyle=':', label='Hg Tm') plt.axhline(y=Sn['Tm'], color='orange', linestyle=':', label='Sn Tm') plt.xlabel('Время t (с)') plt.ylabel('Температура T (°C)') plt.title('График плавления: T(t) при нагреве образцов Hg и Sn (нач. T = -50 °C)') plt.legend() plt.grid(True) plt.tight_layout() plt.show() Что вы получите: - график T(t) для Hg и Sn на одном графике; - для Hg начнётся плавление около -38.8°C, для Sn — около 231.9°C; - после достижения Tm для каждого металла будет плато плавления, затем температура снова начнёт расти после завершения плавления. Если хотите другой вид графика: - график T vs затраченное тепло (T(Q)) для каждого металла; - или фазовую диаграмму (положение фаз в зависимости от P–T). Уточните, какой именно вид графика вам нужен (T(t), T(Q), или диаграмма P–T), и какие параметры массы и мощности вы планируете использовать — подстрою код под ваши данные.