Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум по моделированию в среде MATLAB.pdf
Скачиваний:
3
Добавлен:
29.11.2025
Размер:
2.67 Mб
Скачать

ЗАПОЛНЕНИЕ РЕЗЕРВУАРА

Рассмотрим правила применения встроенной процедуры ode45 для решения одного дифференциального уравнения первого порядка. Такое уравнение является математической моделью системы, состоящей из резервуара (танка), напол- няемого жидкостью с помощью насоса.

Формулировка задачи

Резервуар (танк) заполняется жидкостью с помощью насо- са. В нижней части танка имеется отверстие, через которое жидкость вытекает наружу.

Предметная модель

Танк имеет идеальную форму цилиндра. Цилиндр располо- жен вертикально. Сечение цилиндра постоянно и не зависит от уровня жидкости. Танк имеет отверстие в нижней части, из которого жидкость самопроизвольно вытекает. Площадь от- верстия постоянна. Жидкость однородна. Плотность жидкости постоянна, жидкость несжимаема. Давление жидкости опре- деляется только высотой столба жидкости. Функция скорости подачи жидкости определяется действующим насосом.

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

Начальный уровень жидкости в танке. Функция подачи насосом жидкости в танк. Сечение отверстия.

Математическая модель

Изменение количества (массы) жидкости в танке определя- ется уравнением

dM = ρQin − ρQout .

dt

Масса жидкости в танке определяется площадью сечения танка, уровнем и плотностью жидкости:

M = ρSh .

Скорость истечения жидкости

38

Qout = k h ,

где коэффициент k пропорционален площади отверстия.

Qin м3с

H

Qout м3 с

Рис. 14. Заполнение резервуара жидкостью

Соответствующей подстановкой в приближении нами мо- дели это уравнение можно преобразовать

d(ρSh ) = ρQin − ρk h , dt

ρS dh = ρQin − ρk h , dt

dh = 1 (Qin k h ) dt S

Изменение высоты h (уровня) жидкости в танке может быть описано дифференциальным уравнением

dh = α(t ) − β h . dt

Скорость подачи жидкости Qin может быть постоянной или зависящей от времени, что более реально. Возьмем для приме-

39

ра Qin = 10 + 5 sin(t ) . Скорость истечения жидкости из танка

зависит от площади сечения отверстия (определяется коэф- фициентом k) и уровня жидкости в танке. Полагая k и h0 рав-

ными 1, создадим m-файл, необходимый для решения диффе- ренциального уравнения в интервале времени 30 секунд.

Алгоритмизация математической модели

Шаг 1. Выясним вид функции f (t,y) правой части диффе-

ренциального уравнения. Функция имеет вид f (t,y) → f (t,h ) = = α(t ) − β h , поэтому

tankfill.m

function dhdt = tankfill(t,h) A = 10 + 5*sin(t);

S = 3;

H = 2*sqrt(h); dhdt = (A – H)/S;

Шаг 2. Используем процедуру ode45 для решения.

В начальный момент времени t = 0 высота жидкости в тан- ке, по нашим предположениям, h0 = 1 . Интервал времени для

интегрирования взяли от 0 до 30.

Создадим еще один файл, tank.m, содержащий следующий код:

tankfill_main.m

tspan = [0 30]; %интервал интегрирования h0 = 1; % начальная высота

[t h] = ode45('tankfill', tspan, h0); plot(t, h) %построение графика h(t) xlabel ('time, s')

ylabel ('height, m')

Результаты представлены на рис. 15

40

Рис. 15. Зависимость высоты жидкости в танке от времени

Программа исследований

1.Идеализируйте работу насоса, подающего жидкость в танк. Задайте скорость подачи жидкости постоянной (А = 10)

исопоставьте полученный результат с предыдущим. Объясни- те различия в графиках.

2.Уменьшите площадь сечения выходного отверстия в не- сколько раз. Добейтесь ситуации, когда уровень жидкости в танке начинает превышать начальный, достигает максимума, а затем кривая выходит на насыщение. Объясните получен- ный результат.

3.Отключите подачу жидкости в танк (А = 0). Наблюдайте кривую истечения жидкости из танка. Объясните вид кривой. При необходимости варьируйте интервал интегрирования.

4.Измените функцию подачи жидкости в танк A = 5|sin(t)|. Сопоставьте полученные результаты.

5.Закройте отверстие. Наблюдайте изменение уровня жид- кости в танке.

41