Неявные методы решения системы уравнений ОДУ

Автор: Пользователь скрыл имя, 14 Февраля 2012 в 16:13, курсовая работа

Описание работы

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

Содержание

ВВЕДЕНИЕ
1. ОПИСАНИЕ МЕТОДОВ ИНТЕГРИРОВАНИЯ СИСТЕМ ОДУ
И ИХ ХАРАКТЕРИСТИКА
1.1. НЕЯВНЫЙ МЕТОД ЭЙЛЕРА И ЕГО ХАРАКТЕРИСТИКИ
1.2. НЕЯВНЫЕ МЕТОДЫ РУНГЕ-КУТТА
2. МЕТОДЫ РЕШЕНИЯ НЕЛИНЕЙНЫХ САУ
2.1. МЕТОД НЬЮТОНА
ЗАКЛЮЧЕНИЕ
СПИСОК ЛИТЕРАТУРЫ

Работа содержит 1 файл

неявные методы решения уравнений.docx

— 46.10 Кб (Скачать)

     Символический этап.

     Определяем мерность IX = 5

     IX = 0 0 0 0 0

     1-я строка матрицы JAT: 1 4

       JA(1) = 1 4      JC(1) = 1 4

       IX = 1 0 0 1 0

       JA(4) = 1 4

       IX(1) = 1 ?  Да. JC(1) - без изменений

       IX(4) = 1 ?  Да. JC(1) - без изменений

     2-я строка матрицы JAT: 2 5

       JA(2) = 2 5      JC(2) = 2 5

       IX = 1 2 0 1 2

       JA(5) = 2 5   -> JC(2) - без изменений

     ....

     4-я строка матрицы JAT: 1 3 4

       JA(1) = 1 4      JC(4) = 1 4

       IX = 4 2 2 4 2

       JA(3) = 3 4

       IX(3) = 4 ? Нет. JC(4) = 1 4 3

       IX(4) = 4 ? Да.  JC(4) - без изменений

     ....

     в итоге получим:

     IC = 1 3 5 7 10 12

     JC = 1 4 2 5 3 4 1 4 3 2 5 

     Численный этап. 

     X = 0 0 0 0 0 

     1-я строка: JC(1) = 1 4

     AN(1) = 3 5,

        AA = 3

           ANT(1) = 3 5

           AA * ANT = 9 15

           X = 9 0 0 15 0

        AA = 5

           ANT(1) = 3 5

           AA * ANT = 15 25

           X = 24 0 0 40 0

     CN(1) = 24 40

     ....

     Аналогично проделывая действия  над другими строками получим: 

     IC: 1       3       5      7          10     12

     JC: 1  4    2  5    3  4   1  4  3    2  5

     CN: 24 40   20 35   80 0   55 22 66   16 144 

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

                 4. ПРАКТИЧЕСКАЯ ЧАСТЬ. ОПИСАНИЯ ПРОГРАММ. 

4.1. НЕЯВНЫЕ МЕТОДЫ. 

     Представлены группой из двух  похожих между собой программ, реализующих соответственно неявные  методы Эйлера и Рунге-Кутта  2  порядка. Также как и в вышеприведенном случае, будет описан метод Эйлера, а отличия метода Рунге-Кутта будут отмечены в скобках.

      1NME.M

     Головной модуль.

     Входные и выходные данные  отсутствуют.

     Язык реализации: PC MathLab

     Операционная система: MS-DOS 3.30 or higher

     Пояснения к тексту модуля:

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

      1NMEF.M, NRG2.M

     Вычислительные модули.

     Входные данные:

     T0, Tfinal - начальные и конечные моменты времени

     X0 - вектор-столбец начальных значений.

     H - начальный шаг

     A - матрица,  на диагонали которой стоят собственные числа линеаризованной системы ОДУ.

     Выходные данные:

     T - столбец времени

     X - столбец решений

      7D 0X - столбец ошибки

     Пояснения к тексту модуля:

     Стандартные действия:  инициализация   начальных  значений ,  цикл

While T < Tfinal,  вычисление по формулам, вывод промежуточных резуль-

татов, формирование выходных значений массивов. 

4.2. МЕТОДЫ РЕШЕНИЯ НЕЛИНЕЙНЫХ САУ 

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

                 Метод последовательных приближений.

      1MMPP.M

     Головной модуль.

     Входные и выходные данные  отсутствуют.

     Язык реализации: PC MathLab

     Операционная система: MS-DOS 3.30 or higher

     Пояснения к тексту модуля:

     Очистка экрана,  инициализация  начальных значений, вызов вычисли-

тельного  модуля MPP.M, вывод результатов в виде графиков.

      1MPP.M

     Вычислительный модуль.

     Входные данные:

     X0 - начальное приближение в виде вектора-строки

     Fun1 - функция, возвращающая вычисленные левые части

     Fun2 - функция, возвращающая матрицу Якоби в определенной точке.

     E - допустимая ошибка.

     Выходные данные:

     Mout - номера итераций

     Xout - приближения на каждой итерации

     DXout - ошибка на каждой итерации

     Язык реализации: PC MathLab

     Операционная система: MS-DOS 3.30 or higher

     Пояснения к тексту модуля:

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

                 Методы Ньютона и Ньютона дискретный

      1MNEWT.M

     Головной модуль.

     Входные и выходные данные  отсутствуют.

     Язык реализации: PC MathLab

     Операционная система: MS-DOS 3.30 or higher

     Пояснения к тексту модуля:

     Стандартный головной модуль  -  выполняет  действия,  аналогичные

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

      1NEWT.M, NEWTD.M

     Вычислительные модули.

     Входные данные:

     X0 - начальное приближение в виде вектора-строки

     Fun1 - функция, возвращающая левые части

     Fun2 - функция,  вычисляющая матрицу Якоби (только для метода

                                                             Ньютона!)

     E - допустимая ошибка

     Выходные данные:

     Mout - номера итераций

     Xout - приближения на каждой итерации

     DXout - ошибка на каждой итерации

     Язык реализации: PC MathLab

     Операционная система: MS-DOS 3.30 or higher

     Пояснения к тексту модулей:

     Стандартные вычислительные модули,  производящие  соответствующие

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

                Метод продолжения решения по  параметру

      1MMPRPP.M

     Головной модуль.

     Входные и выходные данные  отсутствуют.

     Язык реализации: PC MathLab

     Операционная система: MS-DOS 3.30 or higher

     Пояснения к тексту модуля:

     Стандартный головной модуль  со всеми вытекающими отсюда  последс-

твиями.

      1MPRPP.M

     Вычислительный модуль.

     Входные данные:

     Fun1 - имя подпрограммы, вычисляющей правые части

     Fun2 - имя подпрограммы, вычисляющем матрицу Якоби

     X0 - начальное приближение

     dT - начальный шаг

     Edop - допустимая ошибка

     Trace - вывод на экран

     Язык реализации: PC MathLab

     Операционная система: MS-DOS 3.30 or higher

     Пояснения к тексту модуля:

     Стандартный вычислительный модуль  -  инициализация,  вычисление,

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

имеет глобальную сходимость,  то объем  вычислений тут значительный,  а

это значит, что при выполнении вычислений требуется  значительное коли-

чество  свободной оперативной памяти. 

                           
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ЗАКЛЮЧЕНИЕ 

      Были  изучены  основные численные методы для решения ОДУ,  САУ, а также технология разреженных матриц. Заодно были получены основные навыки в программировании  математической системы  PC  MathLab.  Каждый  из представленных методов по своему хорош и применяется для систем определенного вида.

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

Суть  метода в следующем:

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

     F 41 0(X 41 0,X 42 0,...,X 4n 0)=0;       i=1,2,...,n, 

     с начальным приближением к  решению: 

     X 50 0=(x 41 50 0,x 42 50 0,...x 4n 50 0). 

     Вычислительная схема реализованного  метода состоит в следующем:

     В начале итерационного процесса  матрица H полагается равной единичной:

                          H 50 0=E.

     Затем для k=0,1,... 

     1. Вычисляется

                       P 5k  0= 5  0- 5  0H 5k  0* 5  0F(X 5k 0);

Информация о работе Неявные методы решения системы уравнений ОДУ