русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Метод конечных разностей для линейных краевых (граничных) задач


Дата добавления: 2015-01-16; просмотров: 800; Нарушение авторских прав


Пусть задано обыкновенное дифференциальное уравнение порядка р или эквивалентная ему система из р уравнений первого порядка. Необходимо найти решение f(t) уравнения на интервале [t0, tn], удовлетворяющее граничным условиям функциональной связи между искомой функцией и ее производными

jk(f(tk), f(1)(tk), …, f(p-1)(tk)=0.

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

Граничные условия могут быть заданы в любой из точек интервала и, в частности, на границах интервала [t0, tn] и в том числе на его границах. Для упрощения выкладок мы и будем рассматривать граничную задачу для линейного дифференциального уравнения второго порядка с переменными коэффициентами

f(2)(t)+p(t)f(1)(t)+q(t)f(t)=r(t).

Граничные условия зададим в виде линейной комбинации искомой функции f(t) и ее первой производной f(1)(t) в точках t0 и tn:

g1f(t0)+g2f(1)(t0)=g3, g4f(tn)+g5f(1)(tn)=g6.

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

Интервал [t0, tn] разобьем на n–1 часть с шагом
h=(tnt0)/n.

Искомую функцию f(t) в окрестности узла ti представим в виде разложения в ряд Тейлора

f(t)=f(ti)+(tti)f(1)(ti)+(1/2)(tti)2f(2)(ti)+

B точках ti+1 и ti-1, отстоящих на расстоянии h от узла ti, пользуясь разложением, получим следующие значения функции f(t):

f(ti+1)=f(ti)+hf(1)(ti)+(1/2)h2f(2)(ti)+

f(ti-1)=f(ti)–hf(1)(ti)+(1/2)h2f(2)(ti)+

Приближенные значения для первой и второй производных функции f(t) в точке ti получим путем вычитания и сложения левых и правых частей последних выражений:



f(1)(ti)= +O(h2),

f(2)(ti)= +O(h2).

Заменяя производные в исходном уравнении их приближенными значениями, получим конечно-разностную схему этого уравнения

+p(ti) +q(ti)f(ti)=r(ti), i=1, ..., n.

Аналогичным образом заменим граничные условия их конечно-разностными представлениями

g1(t0)f(t0)+g2 =g3(t0),

g4(tn)f(tn)+g5 =g6(tn).

Совокупность разностных схем уравнения и граничных условий представляет собой систему (n+3) линейных алгебраических уравнений относительно неизвестных f(t-1), f(t0), ..., f(tn+1). Матрицы этой системы приводятся к трехдиагональному виду, и тогда систему можно решить методом прогонки. Из первого конечно-разностного уравнения для граничных условий выразим неизвестное f(t-1) и подставим его в конечно-разностное уравнение системы при i=0, в результате получим линейное соотношение

f(t0)=k0l0f(t1), где

k0= ,

l0=

При i=1 уравнение f(t0)=k0l0f(t1) приводится к виду f(t1)=k1l1f(t2), а для произвольного значения i получим f(ti)=kilif(ti+1). Пограничные коэффициенты ki, li вычисляются по рекуррентным формулам:

ki= ,

li= ,

полученным путем приведения разностного уравнения системы к форме f(ti)=kilif(ti+1) после замены значений
f(ti-1)=ki-1li-1f(ti).

Из конечно-разностной схемы для второго граничного условия после подстановки выражений для f(tn+1) и f(tn-1) из f(ti)=kilif(ti+1) и f(ti-1)=ki-1li-1f(ti) найдем соотношение для вычисления неизвестного f(tn):

f(tn)= .

Затем в процессе обратного хода метода прогонки, полагая последовательно i=n–1, n–2, …, 0, по формуле f(ti)=kilif(ti+1) вычисляются значения остальных искомых величин f(tn-1), f(tn-2), …, f(t0). Так как погрешности аппроксимации первой и второй производной пропорциональны квадрату шага, этот вариант метода имеет второй порядок.



<== предыдущая лекция | следующая лекция ==>
Программная реализация численных методов решения задачи Коши | Метод стрельбы для граничных задач


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.478 сек.