
компьютерное моделирование / Диск-мод / Пример 1
.doc
Дополнение к вопросу о численных методов.
Рассмотрим простой пример.
Пусть требуется провести моделирование системы, которая описывается дифференциальным уравнением
П
араметр
x(t)-
это воздействие на систему. Его считаем
известным. Требуется определить реакцию
системы y(t).
Для решения задачи необходимо также
знать начальное условие y0.
Пусть x(t)=1,y=0. Для этого случая мы можем получить аналитическое решение, чтобы сравнить его с численным.
y’+y=1, y0=0. Решение y=1-e-t.
У
1
t
Такое поведение характерно для многих процессов. Например, заряд конденсатора, включенного к источнику постоянного напряжения, наполнение резервуара, соединенного с другим ранее наполненным резервуаром и т.д.
Теперь решим эту задачу численно. Воспользуемся простым методом Эйлера вперед:
y
’n+yn=1
,
Тогда yn+1=t+(1-t)yn.
Зная y0=0 нетрудно получить все значения y.
Рассмотрим поведение системы с различными значениями шага t.
t=0.5, yn+1=0.5+0.5yn.
yn=0;0.5;0.75 1 при n=0,1,2…
Результаты численного моделирования оказываются близки к реальному процессу.
t=1, yn=1,
yn=0,1,1…1 при n=0,1,2…
Модель очень грубо описывает поведение системы в начальный период, но дает правильное значение в установившемся состоянии.
t=1.5, yn=1.5-0.5yn.
yn=0,1,5,0,75…1 при n=0,1,2…
Также получаем правильное значение y в установившемся состоянии, но в решении появляются колебания, которых нет в реальном процессе.
t=2, yn=2 –yn,
yn=0,2,0,20…при n=0,1,2…
Это граница устойчивости модели.
t=3, yn=3 -2yn,
yn=0,3,-3,9… при n=0,1,2…
Модель оказывается неустойчивой, достаточно быстро наступает переполнение порядка. В то же время эти результаты не имеют никакого отношения к реальному процессу.
Вывод: необходимо уменьшить шаг моделирования (t<1).
Это приведет к увеличению машинного времени. Когда на каждом шаге решается большое число сложных дифференциальных уравнений увеличение времени счета может создать серьезную проблему.
Попробует сменить метод интегрирования. Воспользуемся неявным методом (Эйлера-назад).
yn’+yn=1.
У
величим
нумерацию на единицу
П
усть
t=3,
y
0=0,
yn=0,0.75,0.94… при n=0,1,2…
Система стала устойчивой при том же шаге t=3.
Теперь модель описывает процессы близко к реальной ситуации с достаточно грубым шагом.