Численные методы в экономике

Автор работы: Пользователь скрыл имя, 21 Декабря 2010 в 20:20, реферат

Описание

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

Работа состоит из  1 файл

Численные методы решения ОДу.rtf

— 253.63 Кб (Скачать документ)

значения Tout и Yout. Далее метод сам корректирует свой шаг, по форму-

ле описанной выше (в теоретическом разделе).  Этот цикл выполняется до

тех пор, пока значение Tfinal не будет достигнуто. Все выходные значе-

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

действий не требуется. В связи с этим с окончанием цикла заканчивается

и подпрограмма  EIL.M.  Методы  Рунге-Кутта реализованы аналогично,  с

учетом отличий в формулах вычислений (более сложные по сравнению с ме-

тодом Эйлера). 

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

     Представлены группой из двух похожих между собой программ, реали-

зующих соответственно неявные методы Эйлера и Рунге-Кутта  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,  вычисление по формулам, вывод промежуточных резуль-

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

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

     Представлены группой из 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

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

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

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

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

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

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

                                 2ВЫВОДЫ 

     При выполнении данных лабораторных работ  были  изучены  основные

численные методы для решения ОДУ,  САУ, а также технология разреженных

матриц. Заодно были получены основные навыки в программировании  мате-

матической системы  PC  MathLab.  Каждый  из представленных методов по

своему хорош и применяется для систем определенного вида. 
 

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

     В данной расчетно-графической работе (далее РГР) требует-

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

ний методом последовательной итерации обратной матрицы  Якоби.

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

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

или трансцендентных уравнений: 

     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);

     2. Находятся

                       X 5k+1  0= 5  0X 5k  0+ 5  0t 5k 0*P 5k 0. 

     Первоначально t 5k 0=1. Затем путем последовательного деления 

t 5k 0 на 2 находим такое t 5k 0, чтобы выполнялось неравенство: 

                   ¦ F(X 5k+1 0) ¦ < ¦ F(X 5k 0) ¦ 

     Итерационный процесс  заканчивается  при выполнении усло-

вия:

                      ¦ F(X 5k+1 0) ¦ < E,

где E - заданная точность. 

     3. Определяется

                     Y 5k 0= F(X 5k+1 0) - F(X 5k 0) 

     4. Находится новое приближение матрицы: 

H 5k+1  0= 5  0H 5k  0- 5  0(H 5k 0*Y 5k  0- 5  0P 5k 0*t 5k 0) 5  0* 5  0(P 5k 0) 5T  0* 5  0(H 5k 0) 5T  0/ 5  0((P 5k 0) 5T  0* 5  0H 5k 0*Y 5k 0) 

     и снова повторяется вычислительный процесс с пункта 1. 

                         2Порядок работы с программой 

     Данная РГР представлена в  виде  3  исполняемых  модулей: 

1OBRJ.M, OBRF.M и FUN1.M. 0  Решением поставленной задачи занима-

ется модуль 1 OBRF.M 0, а два остальных являются вспомогательными:  

1OBRJ.M - 0 головной модуль,  в котором вводятся входные данные и

выводятся результаты вычислений,  а 1 FUN1.M - 0  модуль,  который

пишет сам  пользователь и который возвращает вычисленные левые

части для требуемого уравнения.

     В головной  программе  задаются начальные приближения,  в

 

                                - 3 - 

виде вектора X0 а также запрашивается допустимая ошибка. Затем

вызывается модуль 1  OBRJ.M, 0  который и реализует решение данной

системы уравнений методом последовательной  итерации  обратной

матрицы Якоби. Внутри себя данный модуль по мере необходимости

вызывает функцию 1 FUN1.M 0, которую пишет сам пользователь. 

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

     В связи с тем,  что данная РГР состоит из  3  частей,  то

Информация о работе Численные методы в экономике