Главная > Численные методы для ПЭВМ на языках Бейсик, Фортран и Паскаль
<< Предыдущий параграф Следующий параграф >>
Пред.
След.
Макеты страниц

Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше

Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике

7.5. Метод конечных разностей для задачи на собственные значения

Метод конечных разностей рассмотрим на примере задачи о коаксиальном волноводе, сформулированной в п. 7.3.

Конечно-разностная схема уравнения (7.26) запишется аналогично ехеме (7.6)

где

число разбиений интервала

Граничные условия (7.28) и (7.29) также запишем в конечно-разностном Представлении

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

Третье граничное условие (7.36) и соотношение (7.37) дают возможность вычислять собственную функцию при заданном собственном значении в двух начальных точках Во всех других узлах на интервале значения функции можно вычислить по двухслойной рекуррентной формуле, полученной из конечно-разностной схемы (7.35),

где

Второе граничное условие (7.36) рассматривается в качестве дисперсионного уравнения

левая часть которого вычисляется с применением рекуррентной формулы (7.38). Решение дисперсионного уравнения (7.39) относительно выбранного собственного значения обычно проводится методом секущих или методом парабол.

В отличие от конечно-разностного метода для граничных задач в рассматриваемой задаче на собственные значения нет необходимости использовать метод прогонки для решения системы конечно-разностных уравнений. Программная реализация вычислений по рекуррентной формуле (7.38) оказывается проще, чем реализация прямого хода метода прогонки, так как не требует формирования массивов.

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

При одинаковом шаге и порядке метод конечных разностей требует вдвое меньшего объема вычислений коэффициентов дифференциальных уравнений по сравнению с методом стрельбы. Это объясняется тем, что для получения значений собственных функций по формуле (7.38) в каждом узле необходимо только один раз вычислить коэффициент цвто время как метод Рунге-Кутты второго порядка на каждом шаге дважды обращается к вычислению правых частей системы ОДУ.

Программа определения собственных значений методом конечных разностей состоит из трех блоков, взаимосвязанных по схеме рис. 7.6.

Рис. 7.6. Блок-схема программы решения задачи на собственные значения методом конечных разностей

В основном блоке каждой из программ 7.4 по сравнению с соответствующим блоком программ 7.3 введены два арифметических оператора для вычисления квадрата и половины шага (переменные соответственно), чтобы исключить многократный пересчет этих величин в итерационных процессах.

В программе вычисление левой части дисперсионного уравнения (7.39) осуществляется в подпрограмме, занимающей строки 200-290. Переменнная введена для вычисления первой части коэффициента

не зависящей от аргумента X. Вне цикла инициализируется начальное значение аргумента X, задаются узловые значения собственной функции в двух первых узлах (переменные Y и ). В теле цикла по переменной I реализовано вычисление собственной функции в очередном узле по рекуррентной формуле (7.38) (переменная ), затем с помощью операторов Присваивания осуществляется сдвиг узловых значений для выполнения Очередного шага. Чтобы не использовать условные операторы и дополнительные переменные для запоминания значения в цикле вычисляются разности последняя из которых и определяет левую часть уравнения (7.39).

В программе параметры конечно-разностной схемы передаются из основной программы в подпрограмму-функцию где вычисляется левая часть дисперсионного уравнения через неименованный COMMON-блок. Подпрограмма метода секущих SECANT расположена во внешнем файле и в листинге не приведена.

Программа не имеет особенностей по сравнению с программой на Фортране, за исключением способа передачи параметров конечно-разностной схемы через глобальные переменные.

Результаты тестирования программ 7.4 приведены в двух последних Столбцах табл. 7.1. Сравнение данных, полученных разными методами, Доказывает, что для задачи о коаксиальном волноводе метод конечных разностей дает лучшие результаты, чем метод стрельбы. Хотя результаты в двух последних строках табл. 7.1 показывают, что в методе конечных разностей раньше начинают проявляться ошибки округления, которые в отличие от ешибок дискретизации нельзя уточнять по способу Рунге.

Изменение направления интегрирования задачи Коши в алгоритме конечных разностей не влияет на результаты.

(см. скан)

(см. скан)

(см. скан)

Categories

1
Оглавление
email@scask.ru