Автор работы: Пользователь скрыл имя, 21 Декабря 2010 в 20:20, реферат
В экономике очень часто используется модель, называемая "черный
ящик", то есть система у которой известны входы и выходы, а то, что
происходит внутри - неизвестно. Законы по которым происходят изменения
выходных сигналов в зависимости от входных могут быть различными, в
том числе это могут быть и дифференциальные законы. Тогда встает проб-
лема решения систем дифференциальных уравнений, которые в зависимости
от своей структуры могут быть решены различными методами. Точное реше-
ние получить очень часто не удается, поэтому мы рассмотрим численные
методы решения таких систем. Далее мы представим две группы методов:
явные и неявные.
опишем их по одиночке (распечатки данных модулей приведены в
приложении):
1. 1 OBRJ.M
Головной модуль
Входные данные: отсутствуют.
Выходные данные: отсутствуют.
Язык реализации: PC MathLab.
Операционная система: MS-DOS 3.30 or Higher.
Пояснения к тексту модуля:
"Стандартный" головной модуль. В данном модуле задаются
начальные значения в виде вектора, например:
X 40 0=[0.4 0.9]
Также в данном модуле запрашивается допустимая ошибка,
очищается экран, а также производятся другие подготовительные
действия.
Затем происходит вызов модуля 1 OBRF.M 0 с полученными вход-
ными данными. Формат вызова данного модуля описан далее (в
описании самого
модуля).
После вычислений в головную программу возвращаются ре-
зультаты вычислений на основе которых строятся графики а также
выводятся оценки по затратам машинного времени и быстродейс-
твия.
2. 1 OBRF.M
Вычислительный модуль
Входные
данные:
FunFcn - имя функции, написанной пользователем, которая
вычисляет левые части для требуемой системы в определенной
точке.
X0 - вектор-строка, определяющий начальные значения (на-
чальное приближение).
E
- допустимая ошибка.
Выходные
данные:
Tout - Столбец итераций ("Время")
Xout - Столбцы значений вычисленных на каждом этапе для
каждой итерации
DXout - Столбцы погрешностей по каждой компоненте, вычис-
ленные на определенном
этапе
Язык реализации: PC MathLab
Операционная система: MS-DOS 3.30 or Higher
Пояснения к тексту модуля:
Данный "вычислительный" модуль реализует метод последова-
тельной итерации обратной матрицы Якоби. Общая структура вызо-
ва данного модуля:
[T 4out 0,X 4out 0,DX 4out 0]=
Значения каждого из параметров были описаны выше.
На начальном этапе в данном модуле инициализируются внут-
ренние переменные (например, задается единичная матрица H, в
соответствии с размерностью X0), формируются (на основе на-
чальных значений) первичные элементы матриц Tout,Xout,DXout.
Затем данная функция, как и многие другие в численных методах,
имеет вид:
While ОШИБКА > ДОПУСТИМОЙ ОШИБКИ
Оператор1
Оператор2
.........
.........
ОператорN
End
Внутри данного цикла происходят вычисления внутренней пе-
ременной P 5k 0 на каждом шаге K и, вычисляется начальное прибли-
жение X 5k+1 0. Первоначально t=1 (Не номер итерации, а внутренний
параметр!). Затем, в очередном цикле While...End в случае, ес-
ли ¦F(X 5k+1 0)¦ < ¦F(X 5k 0)¦ t=t/2 и снова вычисляется X 5k+1 0. Когда
очередное X 5k+1 0 найдено, вычисляется Y 5k 0, а затем и новое приб-
лижение матрицы
H. Итерационный процесс заканчивается,
если
¦F(X 5k+1 0)¦ < E. Если данное условие не выполняется - итерацион-
ный процесс продолжается заново.
Формирование выходных значений-матриц происходит внутри
данного цикла и поэтому никаких дополнительных действий не
требуется, то есть с окончанием данного цикла заканчивается и
сама функция.
3. 1 FUN1.M
Модуль, вычисляющий левые части
Входные данные:
X - вектор-строка, задающий точки для вычислений по каж-
дой компоненте.
Выходные данные:
FF - вектор-строка, возвращающий значения каждой компо-
ненты в определенной точке
Язык реализации: PC MathLab
Операционная система: MS-DOS 3.30 or Higher
Пояснения к тексту модуля:
В принципе, текст данного модуля не требует пояснений. В
нем пользователь реализует систему уравнений, которая подлежит
решению. То есть на входные значения X данная функция возвра-
щает левые части по каждому уравнению. Единственное требование
к данному модулю - соблюдение формата, то есть входные и вы-
ходные данные должны
быть представлены в виде вектор-строк.
2Сравнительный анализ и
2оценка быстродействия.
Сравнительный анализ показал, что данный метод обладает
неплохой сходимостью, так как попробованный метод простой ите-
рации с параметром вообще отказался сходиться для данной сис-
темы. Однако хорошо подходит для сравнения дискретный метод
Ньютона, так как данные методы практически одинаковы что по
точности что по
затратам.
1. Метод последовательной итерации обратной матрицы Якоби
Число операций: порядка 682
Быстродействие:
порядка 0.11 секунды
2. Метод Ньютона дискретный
Число операций: порядка 990
Быстродействие:
порядка 0.22 секунды
Как видно из вышеприведенных данных, эти два метода очень
близки между собой, но метод Ньютона дискретный более сложен в
реализации, однако обладает лучшей сходимостью, например при
начальных значениях X 50 0=[2.0 2.0]; метод последовательной ите-
рации обратной матрицы Якоби уже не справляется, в то время
как дискретный метод Ньютона продолжает неплохо работать. Од-
нако метод Ньютона требует больших затрат машинного времени и
поэтому при выборе метода необходимо исходить их конкретных
условий задачи и если известно довольно точное приближение и
требуется быстрота вычислений, то к таким условиям отлично
подходит разработанный метод последовательной итерации обрат-
ной матрицы Якоби.
2Выводы
В данной РГР был разработан и реализован метод последова-
тельной итерации обратной матрицы Якоби, предназначенный для
решения системы нелинейных уравнений. Программа, реализованная
на языке PC MathLab хотя и не является оптимальной, однако вы-
полняет поставленную задачу и решает системы уравнений. Реали-
зованный метод не отличается повышенной сходимостью и требует
довольно точного начального приближения, однако довольно быст-
ро сходится к точному решению, то есть его можно порекомендо-
вать для вычисления непростых систем нелинейных уравнений при
наличии довольно точного начального приближения и наличия вре-
менных ограничений.
2Список литературы
1. О.М.Сарычева. "Численные методы в экономике. Конспект
лекций", Новосибирский государственный технический универси-
тет, Новосибирск 1995г.
2. Д.Мак-Кракен, У.Дорн. "Численные методы и программиро-
вание на Фортране", Издательство "Мир", М. 1977г.
3. Н.С.Бахвалов. "Численные методы", Издательство "Нау-
ка", М. 1975г.