Решение дифференциальных уравнений на сетке

Видео:Сеточные методы решения дифференциальных уравнений в частных производных.Скачать

Сеточные методы решения дифференциальных уравнений в частных производных.

Решение дифференциальных уравнений на сетке

3. ЧИСЛЕННОЕ РЕШЕНИЕ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ

С ЧАСТНЫМИ ПРОИЗВОДНЫМИ

3.2. Понятие о методе конечных разностей

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

Метод сеток состоит в следующем:

1) область непрерывного изменения аргументов заменяют областью их дискретного изменения;

2) непрерывные производные заменяют разностными отношениями;

3) для краевых и начальных условий записывают разностный аналог.

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

Рассмотрим примеры сеток.

1. Равномерная сетка на отрезке [а, в ].

Разобьем отрезок на n равных частей и получим систему точек x 0 , x 1 , x 2 ,…, x n такую что:

Решение дифференциальных уравнений на сетке

Непрерывная функция y ( x ) заменяется сеточной функцией y h ( x i ), определяемой в узлах сетки и зависимой от шага h как от параметра.

2. Равномерная сетка на плоскости.

Разобьем отрезок [0, x max ] на n равных частей и получим систему точек x 0 , x 1 ,…, x n , где h 1 = x max / n .Отрезок [0, y max ] разделим на m равных частей точками y 0 , y 1 ,…, y m с шагом h 2 = ymax / m . Через точки x i проведем линии, параллельные оси x . Искомая функция U ( x , y ) заменяется сеточной функцией Решение дифференциальных уравнений на сетке и зависят от параметров h 1 и h 2 .

Решение дифференциальных уравнений на сетке

3.2.1. Конечные разности.

Решение дифференциальных уравнений на сетке

Решение дифференциальных уравнений на сетке Решение дифференциальных уравнений на сетке

Решение дифференциальных уравнений на сетке -правая разностная производная,

Решение дифференциальных уравнений на сетке — левая разностная производная;

Решение дифференциальных уравнений на сетке — центральная разностная производная.

Левая и правая конечные разности аппроксимируют производную с первым порядком точности, а центральная разностная производная – со вторым порядком точности.

Конечно – разностная производная второго порядка имеет вид:

Решение дифференциальных уравнений на сетке

При замене частных производных разностными отношениями применяется аналогичный подход:

Видео:6-2. Метод сетокСкачать

6-2. Метод сеток

Краевые задачи

Для однозначного определения неизвестной функции ( u(x) ) уравнение (1) дополняется двумя граничными условиями на концах отрезка ( [0, l] ). Задаваться может функция ( u(x) ) (граничное условие первого рода), поток ( w(x) = −k(x) frac (x) ) (граничное условие второго рода) или же их линейная комбинация (граничное условие третьего рода): $$ begin tag u(0) = mu_1, quad u(l) = mu_2, end $$ $$ begin tag −k(0) frac (0) = mu_1, quad k(l) frac (l) = mu_2 end $$ $$ begin tag −k(0) frac (0) + sigma_1 u(0) = mu_1, quad k(l) frac (l) + sigma_2 u(l) = mu_2. end $$

Эллиптические уравнения второго порядка, прототипом которых является уравнение (1), используются при моделирование многих физико-механических процессов.

Кроме того,могут рассматриваться задачи с несамосопряженным оператором, когда, например, $$ begin tag — frac left( k(x) frac right) + v(x) frac + q(x) u = f(x), quad 0 —>

Видео:Задача Коши ➜ Частное решение линейного однородного дифференциального уравненияСкачать

Задача Коши ➜ Частное решение линейного однородного дифференциального уравнения

Курсовая работа: Решение параболических уравнений

Видео:13. Как решить дифференциальное уравнение первого порядка?Скачать

13. Как решить дифференциальное уравнение первого порядка?

Реферат

Видео:Линейное неоднородное дифференциальное уравнение второго порядка с постоянными коэффициентамиСкачать

Линейное неоднородное дифференциальное уравнение второго порядка с постоянными коэффициентами

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

Объем курсовой работы: 33 с.

Ключевые слова: параболическое уравнение, уравнение теплопроводности, метод сеток, краевая задача, конечные разности.

1. Теоретическая часть

1.1 Метод сеток решения уравнений параболического типа

1.2 Метод прогонки решения разностной задачи для уравненийпараболического типа

1.3 Оценка погрешности и сходимость метода сеток

1.4 Доказательство устойчивости разностной схемы

2. Реализация метода

2.1 Разработка программного модуля

2.2 Описание логики программного модуля

2.3 Пример работы программы

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

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

Решение дифференциальных уравнений на сетке.

Заметим, что численными методами приходится решать и нелинейные уравнения, но находить их решение много труднее, чем решение линейных уравнений.

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

1. Теоретическая часть

1.1 Метод сеток решения уравнений параболического типа

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

Решение дифференциальных уравнений на сетке. (1.1)

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

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

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

Рассмотрим неоднородное уравнение теплопроводности, являющееся частным случаем уравнений параболического типа:

Решение дифференциальных уравнений на сетке, (1.2)

Решение дифференциальных уравнений на сетке– известная функция.

Будем искать решение этого уравнения в области

Решение дифференциальных уравнений на сетке

Заметим, что эту полуполосу всегда можно привести к полуполосе, когда Решение дифференциальных уравнений на сетке. Уравнение (1.2) будем решать с начальными условиями:

Решение дифференциальных уравнений на сетке, (1.3)

Решение дифференциальных уравнений на сетке– известная функция, и краевыми условиями:

Решение дифференциальных уравнений на сетке(1.4)

где Решение дифференциальных уравнений на сетке– известные функции переменной Решение дифференциальных уравнений на сетке.

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

Решение дифференциальных уравнений на сетке

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

Решение дифференциальных уравнений на сетке.

Для производной Решение дифференциальных уравнений на сеткезапишем следующие формулы:

Решение дифференциальных уравнений на сетке,

Решение дифференциальных уравнений на сетке,

Решение дифференциальных уравнений на сетке.

Можем получить три вида разностных уравнений:

Решение дифференциальных уравнений на сетке, (1.5)

Решение дифференциальных уравнений на сетке, (1.6)

Решение дифференциальных уравнений на сетке, (1.7)

Решение дифференциальных уравнений на сетке.

Разностные уравнения (1.5) аппроксимируют уравнение (1.2) с погрешностью Решение дифференциальных уравнений на сетке, уравнение (1.6) – с такой же погрешностью, а уравнение (1.7) уже аппроксимирует уравнение (1.2) с погрешностью Решение дифференциальных уравнений на сетке.

В разностной схеме (1.5) задействованы 4 узла. Конфигурация схемы (1.5) имеет вид:

Решение дифференциальных уравнений на сетке

В схеме (1.6) также участвуют 4 узла, и эта схема имеет вид:

Решение дифференциальных уравнений на сетке

В схеме (1.7) участвуют 5 узлов, и эта схема имеет вид:

Решение дифференциальных уравнений на сетке

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

Для узлов начального (нулевого) слоя Решение дифференциальных уравнений на сеткезначения решения выписываются с помощью начального условия (1.3):

Решение дифференциальных уравнений на сетке(1.8)

Для граничных узлов, лежащих на прямых Решение дифференциальных уравнений на сеткеи Решение дифференциальных уравнений на сетке, заменив производные Решение дифференциальных уравнений на сеткепо формулам численного дифференцирования, получаем из граничных условий (1.4) следующие уравнения:

Решение дифференциальных уравнений на сетке(1.9)

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

Присоединяя к системе разностных уравнений, записанных для внутренних узлов, начальные и граничные условия (1.8) и (1.9) для разностной задачи получим полные разностные схемы трех видов. Для проведения вычислений самой простой схемой оказывается первая: достаточно на основании начального условия найти значения функции в узлах слоя Решение дифференциальных уравнений на сетке, чтобы в дальнейшем последовательно определять значения решения в узлах слоев Решение дифференциальных уравнений на сеткеи т.д.

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

С точки зрения точечной аппроксимации третья схема самая точная.

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

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

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

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

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

Явные схемы просты для организации вычислительного процесса, но имеют один весьма весомый недостаток: для их устойчивости приходится накладывать сильные ограничения на сетку. Неявные схемы свободны от этого недостатка, но есть другая трудность – надо решать системы уравнений большой размерности, что на практике при нахождении решения сложных уравнений в протяженной области с высокой степенью точности может потребовать больших объемов памяти ЭВМ и времени на ожидание конечного результата. К счастью, прогресс не стоит на месте и уже сейчас мощности современных ЭВМ вполне достаточно для решения поставленных перед ними задач.

1.2 Метод прогонки решения разностной задачи для уравнений параболического типа

Рассмотрим частный случай задачи, поставленной в предыдущем разделе. В области

Решение дифференциальных уравнений на сетке

найти решение уравнения

Решение дифференциальных уравнений на сетке(1.10)

с граничными условиями

Решение дифференциальных уравнений на сетке(1.11)

и начальным условием

Решение дифференциальных уравнений на сетке. (1.12)

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

Решение дифференциальных уравнений на сетке

Запишем разностное уравнение, аппроксимирующее дифференциальное уравнение (1.10) во всех внутренних узлах слоя Решение дифференциальных уравнений на сетке. При этом будем использовать следующие формулы:

Решение дифференциальных уравнений на сетке,

Решение дифференциальных уравнений на сетке.

Эти формулы имеет погрешность Решение дифференциальных уравнений на сетке. В результате уравнение (1.10) заменяется разностным:

Решение дифференциальных уравнений на сетке(1.13)

Перепишем (1.13) в виде:

Решение дифференциальных уравнений на сетке. (1.14)

Данная вычислительная схема имеет следующую конфигурацию:

Решение дифференциальных уравнений на сетке

Решение дифференциальных уравнений на сетке(1.15)

Решение дифференциальных уравнений на сетке(1.16)

Система (1.14) – (1.16) представляет собой разностную задачу, соответствующую краевой задаче (1.10) – (1.12).

За величину Решение дифференциальных уравнений на сеткемы положили Решение дифференциальных уравнений на сетке.

(1.14) – (1.16) есть система линейных алгебраических уравнений с 3-диагональной матрицей, поэтому ее резонно решать методом прогонки, так как он в несколько раз превосходит по скорости метод Гаусса.

Решение дифференциальных уравнений на сетке. (1.17)

Здесь Решение дифференциальных уравнений на сетке, Решение дифференциальных уравнений на сетке– некоторые коэффициенты, подлежащие определению. Заменив в (1.17) Решение дифференциальных уравнений на сеткена Решение дифференциальных уравнений на сеткебудем иметь:

Решение дифференциальных уравнений на сетке. (1.18)

Подставив уравнение (1.18) в (1.14) получим:

Решение дифференциальных уравнений на сетке. (1.19)

Сравнив (1.17) и (1.19) найдем, что:

Решение дифференциальных уравнений на сетке(1.20)

Положим в (1.14) Решение дифференциальных уравнений на сеткеи найдем из него Решение дифференциальных уравнений на сетке:

Решение дифференциальных уравнений на сетке,

Решение дифференциальных уравнений на сетке.

Решение дифференциальных уравнений на сетке(1.21)

Заметим, что во второй формуле (1.21) величина Решение дифференциальных уравнений на сеткеподлежит замене на Решение дифференциальных уравнений на сеткесогласно первому условию (1.15).

С помощью формул (1.21) и (1.20) проводим прогонку в прямом направлении. В результате находим величины

Решение дифференциальных уравнений на сетке

Затем осуществляем обратный ход. При этом воспользуемся второй из формул (1.15) и формулой (1.17). Получим следующую цепочку формул:

Решение дифференциальных уравнений на сетке(1.22)

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

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

1.3 Оценка погрешности и сходимость метода сеток

При решении задачи методом сеток мы допускаем погрешность, состоящую из погрешности метода и вычислительной погрешности.

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

Вычислительная погрешность – это погрешность, возникающая при решении системы разностных уравнений, за счет практически неизбежных машинных округлений.

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

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

1.4 Доказательство устойчивости разностной схемы

Пусть Решение дифференциальных уравнений на сеткеесть решение уравнения (1.14), удовлетворяющее возмущенным начальным условиям

Решение дифференциальных уравнений на сетке

и граничным условиям

Решение дифференциальных уравнений на сетке

Решение дифференциальных уравнений на сетке.

Здесь Решение дифференциальных уравнений на сетке– некоторые начальные ошибки.

Решение дифференциальных уравнений на сетке.

Погрешность Решение дифференциальных уравнений на сеткебудет удовлетворять уравнению

Решение дифференциальных уравнений на сетке(1.23)

(в силу линейности уравнения (1.14)), а также следующими граничными и начальными условиями:

Решение дифференциальных уравнений на сетке, (1.24)

Решение дифференциальных уравнений на сетке. (1.25)

Частное решение уравнения (1.23) будем искать в виде

Решение дифференциальных уравнений на сетке. (1.26)

Здесь числа Решение дифференциальных уравнений на сеткеи Решение дифференциальных уравнений на сеткеследует подобрать так, чтобы выражение (1.26) удовлетворяло уравнению (1.23) и граничным условиям (1.24).

При целом Решение дифференциальных уравнений на сетке Решение дифференциальных уравнений на сеткеудовлетворяет уравнению (1.23) и условиям (1.24).

Подставим уравнение (1.26) в уравнение (1.24). При этом получим:

Решение дифференциальных уравнений на сетке

Решение дифференциальных уравнений на сетке.

Выражение в квадратных скобках равно

Решение дифференциальных уравнений на сетке.

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

Решение дифференциальных уравнений на сетке,

откуда находим Решение дифференциальных уравнений на сетке:

Решение дифференциальных уравнений на сетке.

Таким образом, согласно уравнению (1.26), получаем линейно-независимые решения уравнения (1.23) в виде

Решение дифференциальных уравнений на сетке

Заметим, что это частное решение удовлетворяет однородным краевым условиям (1.24). Линейная комбинация этих частных решений также является решением уравнения (1.23):

Решение дифференциальных уравнений на сетке, (1.27)

причем Решение дифференциальных уравнений на сетке, определенное в выражении (1.27), удовлетворяет для любых Решение дифференциальных уравнений на сеткеоднородным граничным условиям (1.24). Коэффициенты Решение дифференциальных уравнений на сеткеподбираются исходя из того, что Решение дифференциальных уравнений на сеткедолжны удовлетворять начальным условиям (1.25):

Решение дифференциальных уравнений на сетке.

В результате получаем систему уравнений

Решение дифференциальных уравнений на сетке,

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

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

Решение дифференциальных уравнений на сетке. (1.28)

Анализируя (1.28) видим, что это неравенство выполняется для любых значений параметра Решение дифференциальных уравнений на сетке. При этом при Решение дифференциальных уравнений на сетке Решение дифференциальных уравнений на сеткеили в крайнем случае, когда

Решение дифференциальных уравнений на сетке,

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

2. Реализация метода

2.1 Разработка программного модуля

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

Решение дифференциальных уравнений на сетке(1.29)

Решение дифференциальных уравнений на сетке,

Решение дифференциальных уравнений на сетке(1.30)

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

Решение дифференциальных уравнений на сетке

Решение дифференциальных уравнений на сетке– шаг по оси Решение дифференциальных уравнений на сетке,

Решение дифференциальных уравнений на сетке– шаг по оси Решение дифференциальных уравнений на сетке.

Заменив в каждом узле производные конечно-разностными отношениями по неявной схеме, получим систему вида:

Решение дифференциальных уравнений на сетке. (1.31)

Преобразовав ее, получим:

Решение дифференциальных уравнений на сетке, (1.32)

Решение дифференциальных уравнений на сетке

В граничных узлах

Решение дифференциальных уравнений на сетке(1.33)

В начальный момент

Решение дифференциальных уравнений на сетке. (1.34)

Эта разностная схема устойчива при любом Решение дифференциальных уравнений на сетке. Будем решать систему уравнений (1.32), (1.33) и (1.34) методом прогонки. Для этого ищем значения функции в узле Решение дифференциальных уравнений на сеткев виде

Решение дифференциальных уравнений на сетке, (1.35)

где Решение дифференциальных уравнений на сетке– пока неизвестные коэффициенты.

Решение дифференциальных уравнений на сетке. (1.36)

Подставив значение (1.35) в (1.32) получим:

Решение дифференциальных уравнений на сетке.

Решение дифференциальных уравнений на сетке. (1.37)

Из сравнения (1.35) и (1.37) видно, что

Решение дифференциальных уравнений на сетке. (1.38)

Решение дифференциальных уравнений на сетке. (1.39)

Для Решение дифференциальных уравнений на сеткеиз (1.32) имеем:

Решение дифференциальных уравнений на сетке.

Решение дифференциальных уравнений на сетке

Решение дифференциальных уравнений на сетке.

Откуда, используя (1.35), получим:

Решение дифференциальных уравнений на сетке, (1.40)

Решение дифференциальных уравнений на сетке. (1.41)

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

1) Зная значения функции Решение дифференциальных уравнений на сеткена границе (1.33), найдем значения коэффициентов Решение дифференциальных уравнений на сеткепо (1.40) и Решение дифференциальных уравнений на сеткепо (1.38) для всех Решение дифференциальных уравнений на сетке.

2) Найдем Решение дифференциальных уравнений на сеткепо (1.41), используя для Решение дифференциальных уравнений на сеткеначальное условие (1.34).

3) Найдем Решение дифференциальных уравнений на сеткепо формулам (1.39) для Решение дифференциальных уравнений на сетке.

4) Найдем значения искомой функции на Решение дифференциальных уравнений на сеткеслое, начиная с Решение дифференциальных уравнений на сетке:

Решение дифференциальных уравнений на сетке

2.2 Описание логики программного модуля

Листинг программы приведен в приложении 1. Ниже будут описаны функции программного модуля и их назначение.

Функция main() является базовой. Она реализует алгоритм метода сеток, описанного в предыдущих разделах работы.

Функция f (x, y) представляет собой свободную функцию двух переменных дифференциального уравнения (1.29). В качестве аргумента в нее передаются два вещественных числа с плавающей точкой типа float. На выходе функция возвращает значение функции Решение дифференциальных уравнений на сетке, вычисленное в точке Решение дифференциальных уравнений на сетке.

Функции mu_1 (t) и mu_2 (t) представляют собой краевые условия. В них передается по одному аргументу (t) вещественного типа (float).

Функция phi() является ответственной за начальный условия.

В функции main() определены следующие константы:

Решение дифференциальных уравнений на сетке– правая граница по Решение дифференциальных уравнений на сеткедля области Решение дифференциальных уравнений на сетке;

Решение дифференциальных уравнений на сетке– правая граница по Решение дифференциальных уравнений на сеткедля области Решение дифференциальных уравнений на сетке;

Решение дифференциальных уравнений на сетке– шаг сетки по оси Решение дифференциальных уравнений на сетке;

Решение дифференциальных уравнений на сетке– шаг сетки по оси Решение дифференциальных уравнений на сетке;

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

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

Программа написана на языке программирования высокого уровня Borland C++ 3.1 в виде приложения MS-DOS. Обеспечивается полная совместимость программы со всеми широко известными операционными системами корпорации Майкрософт: MS-DOS 5.x, 6.xx, 7.xx, 8.xx, Windows 9x/Me/2000/NT/XP.

2.3 Пример работы программы

В качестве примера рассмотрим численное решение следующего дифференциального уравнения параболического типа:

Решение дифференциальных уравнений на сетке

Решение дифференциальных уравнений на сетке,

Решение дифференциальных уравнений на сетке

Задав прямоугольную сетку с шагом оси Решение дифференциальных уравнений на сетке0.1 и по оси Решение дифференциальных уравнений на сетке0.01, получим следующее решение:

2.10 1.91 1.76 1.63 1.53 1.44 1.37 1.31 1.26 1.22 1.18

2.11 1.75 1.23 1.20 1.15 1.10 1.07 1.04 1.04 1.07 1.21

2.12 1.61 0.95 0.96 0.93 0.91 0.90 0.90 0.94 1.03 1.24

2.13 1.51 0.79 0.81 0.81 0.80 0.81 0.83 0.89 1.03 1.27

2.14 1.45 0.69 0.73 0.74 0.74 0.76 0.80 0.88 1.04 1.31

2.15 1.41 0.64 0.69 0.70 0.71 0.74 0.79 0.89 1.05 1.34

В таблице ось x расположена горизонтально, а ось t расположена вертикально и направлена вниз.

На выполнение программы на среднестатистическом персональном компьютере тратится время, равное нескольким миллисекундам, что говорит о высокой скорости алгоритма.

Подробно выходной файл output.txt, содержащий таблицу значений функции Решение дифференциальных уравнений на сеткепредставлен в приложении 3.

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

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

1. Березин И.С., Жидков Н.П.Методы вычислений. Т.2. – М.: Физматгиз, 1962.

2. Тихонов А.Н., Самарский А.А.Уравнения математической физики. – М.: Наука, 1972.

3. Пирумов У.Г.Численные методы. – М.: Издательство МАИ, 1998.

4. Калиткин Н.Н.Численные методы. – М.: Наука, 1976.

🎥 Видео

7. Линейные дифференциальные уравнения первого порядка. Метод Бернулли.Скачать

7. Линейные дифференциальные уравнения первого порядка. Метод Бернулли.

18+ Математика без Ху!ни. Дифференциальные уравнения.Скачать

18+ Математика без Ху!ни. Дифференциальные уравнения.

19. Метод вариации произвольных постоянных. Линейные неоднородные диф уравнения 2-го порядкаСкачать

19. Метод вариации произвольных постоянных. Линейные неоднородные диф уравнения 2-го порядка

Частное решение дифференциального уравнения. 11 класс.Скачать

Частное решение дифференциального уравнения. 11 класс.

Решение системы дифференциальных уравнений методом ЭйлераСкачать

Решение системы дифференциальных уравнений методом Эйлера

16. Линейные неоднородные дифференциальные уравнения 2-го порядка с постоянными коэффициентамиСкачать

16. Линейные неоднородные дифференциальные уравнения 2-го порядка с постоянными коэффициентами

Дифференциальные уравнения. 11 класс.Скачать

Дифференциальные уравнения. 11 класс.

Решение дифференциальных уравнений. Практическая часть. 11 класс.Скачать

Решение дифференциальных уравнений. Практическая часть. 11 класс.

4. Однородные дифференциальные уравнения (часть 1)Скачать

4. Однородные дифференциальные уравнения (часть 1)

2. Дифференциальные уравнения с разделяющимися переменными. Часть 1.Скачать

2. Дифференциальные уравнения с разделяющимися переменными. Часть 1.

Линейное дифференциальное уравнение Коши-ЭйлераСкачать

Линейное дифференциальное уравнение Коши-Эйлера
Поделиться или сохранить к себе:
Название: Решение параболических уравнений
Раздел: Рефераты по математике
Тип: курсовая работа Добавлен 21:20:53 10 октября 2009 Похожие работы
Просмотров: 900 Комментариев: 21 Оценило: 4 человек Средний балл: 4.3 Оценка: неизвестно Скачать