
8.4 Сравнение методов решения систем оду
Это сравнение проведем для систем ОДУ с большим количеством уравнений (большие системы), когда важны устойчивость, точность, эффективность решения, а также некоторые другие характеристики. Методы, выбранные для сравнения, пронумеруем:
1) метод Эйлера,
2) метод Рунге-Кутта четвертого порядка,
3) модифицированный метод Рунге-Кутта (RKF),
4) метод прогноза-коррекции Адамса
5) неявный метод Эйлера,
6) неявный многошаговый метод из программы PSpice.
Все методы делятся на явные и неявные по их устойчивости, и каждый может быть либо одношаговым, либо многошаговым по использованию предыдущих шагов на текущем шаге. Одношаговые методы не используют значений, полученных на предыдущих шагах. Следовательно, имеем следующие 4 группы:
явный одношаговый - 1, 2, 3;
явный многошаговый - 4;
неявный одношаговый - 5;
неявный многошаговый - 6.
В таблице 8.1 указаны основные характеристики для сравнения методов и даны номера методов, лучших с точки зрения этих характеристик.
|
Нежесткие системы ОДУ |
Жесткие системы ОДУ |
Устойчивость |
не важна |
6, 5 |
Точность |
3, 2, 4 |
6 |
Эффективность |
4, 3 |
6 |
Простота |
1 |
5 |
Оценка погрешности на шаге |
4, 3 |
6 |
Отсутствие сложностей при изменении текущего шага |
1, 2, 3 |
5 |
Следует отметить эффективность многошаговых методов по сравнению с одношаговыми по затратам процессорного времени, но и их важный недостаток - необходимость выполнения первых нескольких шагов каким-либо одношаговым методом ("разгон"). Оценка "не важна" в первой строке таблицы означает, что для нежестких систем при правильно выбранных шагах интегрирования устойчивость не нарушается.
8.5 Оценки затрат процессорного времени.
Затраты процессорного времени для решения системы ОДУ можно оценить величиной
|
(8.8) |
где
- количество
уравнений в системе (8.3),
- количество
шагов интегрирования (дискретизации),
- количество вычислений правых частей
системы на шаге,
- время однократного вычисления всех
функций в правой части системы (8.3) или
других вычислений в случае неявных
методов, например, вычислений матрицы
Якоби и решения системы линейных
уравнений для метода Ньютона на каждом
шаге и на каждой итерации.
Для неявных методов
значение
соответствует количеству итераций на
шаге. В случае явных методов значения
таковы:
для метода Эйлера,
для метода Рунге-Кутта (см.(6.8)),
для метода Адамса,
для модифицированного метода Рунге-Кутта
пятого порядка.
Например, если для
метода Эйлера имеем
,
= 0.00001,
,
то для метода Рунге-Кутта, которому
соответствует
,
при той же локальной погрешности можем
получить
,
т.е. при переходе более к сложному методу
процессорное время уменьшилось в 3 раза.
Значения
и
в данном случае одинаковы.
Из (8.8) следует,
что, усложняя метод, т.е. увеличивая
произведение
,
можно существенно уменьшить количество
шагов
при той же допустимой локальной
погрешности
и тем самым сократить затраты процессорного
времени.