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

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 показывают, что в методе конечных разностей раньше начинают проявляться ошибки округления, которые в отличие от ешибок дискретизации нельзя уточнять по способу Рунге.

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

(см. скан)

(см. скан)

(см. скан)

<< Предыдущий параграф Следующий параграф >>
Оглавление