Автор работы: Пользователь скрыл имя, 21 Декабря 2010 в 20:20, реферат
В экономике очень часто используется модель,  называемая  "черный
ящик",  то есть система у которой известны входы и выходы,  а то,  что
происходит внутри - неизвестно. Законы по которым происходят изменения
выходных  сигналов  в зависимости от входных могут быть различными,  в
том числе это могут быть и дифференциальные законы. Тогда встает проб-
лема решения систем дифференциальных уравнений,  которые в зависимости
от своей структуры могут быть решены различными методами. Точное реше-
ние  получить очень часто не удается,  поэтому мы рассмотрим численные
методы решения таких систем.  Далее мы представим две группы  методов:
явные и неявные.
значения 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
Пояснения к тексту модуля:
Стандартный вычислительный модуль - инициализация, вычисление,
вывод, формирование результата. Стоит отметить, что поскольку метод
имеет глобальную сходимость, то объем вычислений тут значительный, а
это значит, что при выполнении вычислений требуется значительное коли-
чество свободной 
оперативной памяти. 
                              
При выполнении данных лабораторных работ были изучены основные
численные методы для решения ОДУ, САУ, а также технология разреженных
матриц. Заодно были получены основные навыки в программировании мате-
матической системы PC MathLab. Каждый из представленных методов по
своему хорош и 
применяется для систем определенного 
вида. 
 
                        
 2Теоретическая часть. 
В данной расчетно-графической работе (далее РГР) требует-
ся составить программу для решения системы нелинейных уравне-
ний методом последовательной итерации обратной матрицы Якоби.
Суть метода в следующем:
Пусть требуется решить систему нелинейных алгебраических
или трансцендентных 
уравнений: 
     F 41 0(X 41 0,X 42 0,...,X 4n 
     с 
начальным приближением к решению: 
     X 50 0=(x 41 50 0,x 42 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 модуль, который
пишет сам пользователь и который возвращает вычисленные левые
части для требуемого уравнения.
В головной программе задаются начальные приближения, в
 
                              
виде вектора X0 а также запрашивается допустимая ошибка. Затем
вызывается модуль 1 OBRJ.M, 0 который и реализует решение данной
системы уравнений методом последовательной итерации обратной
матрицы Якоби. Внутри себя данный модуль по мере необходимости
вызывает функцию 1 
FUN1.M 0, которую пишет сам пользователь. 
                        
 2Описание работы программ 
В связи с тем, что данная РГР состоит из 3 частей, то