- •Введение
- •ОПИСАНИЕ MATLAB
- •ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ
- •РЕШЕНИЕ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ С ИСПОЛЬЗОВАНИЕМ ВСТРОЕННЫХ ФУНКЦИЙ
- •ДВИЖЕНИЕ ЖИДКОСТИ ПО ТРУБОПРОВОДУ
- •ЗАПОЛНЕНИЕ РЕЗЕРВУАРА
- •РАЗВИТИЕ БИОЛОГИЧЕСКИХ ПОПУЛЯЦИЙ
- •ЭПИДЕМИЯ ГРИППА
- •ЭКСТРЕМАЛЬНЫЕ ПРЫЖКИ
- •ПРЫЖКИ С ПАРАШЮТОМ
- •МИРОВОЙ РЕКОРД ПО ПРЫЖКАМ В ДЛИНУ
- •МЕХАНИЧЕСКИЕ КОЛЕБАНИЯ
- •СПЯЩИЙ ПОЛИЦЕЙСКИЙ
- •КОЛЕБАТЕЛЬНЫЙ КОНТУР
- •КОЛЕБАНИЯ МЕМБРАНЫ
- •РАСПРОСТРАНЕНИЕ ТЕПЛА
- •МОДЕЛИРОВАНИЕ В ПОДСИСТЕМЕ SIMULINK
- •Список использованных источников
ЗАПОЛНЕНИЕ РЕЗЕРВУАРА
Рассмотрим правила применения встроенной процедуры 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
