![]() |
|
сделать стартовой | добавить в избранное |
![]() |
Компьютеры, Программирование
Программное обеспечение
Решение системы нелинейных уравнений |
Теоретическая часть. В данной расчетно-графической работе (далее РГР) требуется составить программу для решения системы нелинейных уравнений методом последовательной итерации обратной матрицы Якоби. Суть метода в следующем: Пусть требуется решить систему нелинейных алгебраических или трансцендентных уравнений: F1(X1,X2,.,X )=0; i=1,2,., , с начальным приближением к решению: X0=(x10,x20,.x 0). Вычислительная схема реализованного метода состоит в следующем: В начале итерационного процесса матрица H полагается равной единичной: H0=E. Затем для k=0,1,. 1. Вычисляется Pk = - Hk F(Xk); 2. Находятся Xk 1 = Xk k Pk. Первоначально k=1. Затем путем последовательного деления k на 2 находим такое k, чтобы выполнялось неравенство: ¦ F(Xk 1) ¦ < ¦ F(Xk) ¦ Итерационный процесс заканчивается при выполнении условия: ¦ F(Xk 1) ¦ < E, где E - заданная точность. 3. Определяется Yk= F(Xk 1) - F(Xk) 4. Находится новое приближение матрицы: Hk 1 = Hk - (Hk Yk - Pk k) (Pk) (Hk) / ((Pk) Hk Yk) и снова повторяется вычислительный процесс с пункта 1. Порядок работы с программой Данная РГР представлена в виде 3 исполняемых модулей: OBRJ.M, OBRF.M и FU 1.M. Решением поставленной задачи занимается модуль OBRF.M, а два остальных являются вспомогательными: OBRJ.M - головной модуль, в котором вводятся входные данные и выводятся результаты вычислений, а FU 1.M - модуль, который пишет сам пользователь и который возвращает вычисленные левые части для требуемого уравнения. В головной программе задаются начальные приближения, в виде вектора X0 а также запрашивается допустимая ошибка. Затем вызывается модуль OBRJ.M, который и реализует решение данной системы уравнений методом последовательной итерации обратной матрицы Якоби. Внутри себя данный модуль по мере необходимости вызывает функцию FU 1.M, которую пишет сам пользователь. Описание работы программ В связи с тем, что данная РГР состоит из 3 частей, то опишем их по одиночке (распечатки данных модулей приведены в приложении): 1. OBRJ.M Головной модуль Входные данные: отсутствуют. Выходные данные: отсутствуют. Язык реализации: PC Ma hLab. Операционная система: MS-DOS 3.30 or Higher. Пояснения к тексту модуля: &quo ;Стандартный&quo ; головной модуль. В данном модуле задаются начальные значения в виде вектора, например: X0= Также в данном модуле запрашивается допустимая ошибка,очищается экран, а также производятся другие подготовительные действия. Затем происходит вызов модуля OBRF.M с полученными входными данными. Формат вызова данного модуля описан далее (в описании самого модуля). После вычислений в головную программу возвращаются результаты вычислений на основе которых строятся графики а также выводятся оценки по затратам машинного времени и быстродействия. 2. OBRF.M Вычислительный модуль Входные данные: Fu Fc - имя функции, написанной пользователем, которая вычисляет левые части для требуемой системы в определенной точке. X0 - вектор-строка, определяющий начальные значения (начальное приближение). E - допустимая ошибка. Выходные данные: ou - Столбец итераций (&quo ;Время&quo ;) Xou - Столбцы значений вычисленных на каждом этапе для каждой итерации DXou - Столбцы погрешностей по каждой компоненте, вычисленные на определенном этапе Язык реализации: PC Ma hLab Операционная система: MS-DOS 3.3
0 or Higher Пояснения к тексту модуля: Данный &quo ;вычислительный&quo ; модуль реализует метод последовательной итерации обратной матрицы Якоби. Общая структура вызова данного модуля: =OBRF(Fu Fc ,X0,E); Значения каждого из параметров были описаны выше. На начальном этапе в данном модуле инициализируются внутренние переменные (например, задается единичная матрица H, в соответствии с размерностью X0), формируются (на основе начальных значений) первичные элементы матриц ou ,Xou ,DXou . Затем данная функция, как и многие другие в численных методах,имеет вид: While ОШИБКА > ДОПУСТИМОЙ ОШИБКИ Оператор1 Оператор2 . . Оператор E d Внутри данного цикла происходят вычисления внутренней переменной Pk на каждом шаге K и, вычисляется начальное приближение Xk 1. Первоначально =1 (Не номер итерации, а внутренний параметр!). Затем, в очередном цикле While.E d в случае, если ¦F(Xk 1)¦ < ¦F(Xk)¦ = /2 и снова вычисляется Xk 1. Когда очередное Xk 1 найдено, вычисляется Yk, а затем и новое приближение матрицы H. Итерационный процесс заканчивается, если ¦F(Xk 1)¦ < E. Если данное условие не выполняется - итерационный процесс продолжается заново. Формирование выходных значений-матриц происходит внутри данного цикла и поэтому никаких дополнительных действий не требуется, то есть с окончанием данного цикла заканчивается и сама функция. 3. FU 1.M Модуль, вычисляющий левые части Входные данные: X - вектор-строка, задающий точки для вычислений по каждой компоненте. Выходные данные: FF - вектор-строка, возвращающий значения каждой компоненты в определенной точке Язык реализации: PC Ma hLab Операционная система: MS-DOS 3.30 or Higher Пояснения к тексту модуля: В принципе, текст данного модуля не требует пояснений. В нем пользователь реализует систему уравнений, которая подлежит решению. То есть на входные значения X данная функция возвращает левые части по каждому уравнению. Единственное требование к данному модулю - соблюдение формата, то есть входные и выходные данные должны быть представлены в виде вектор-строк. Сравнительный анализ и оценка быстродействия.Сравнительный анализ показал, что данный метод обладает неплохой сходимостью, так как попробованный метод простой итерации с параметром вообще отказался сходиться для данной системы. Однако хорошо подходит для сравнения дискретный метод Ньютона, так как данные методы практически одинаковы что по точности что по затратам. 1. Метод последовательной итерации обратной матрицы Якоби Число операций: порядка 682 Быстродействие: порядка 0.11 секунды 2. Метод Ньютона дискретный Число операций: порядка 990 Быстродействие: порядка 0.22 секунды Как видно из вышеприведенных данных, эти два метода очень близки между собой, но метод Ньютона дискретный более сложен в реализации, однако обладает лучшей сходимостью, например при начальных значениях X0=; метод последовательной итерации обратной матрицы Якоби уже не справляется, в то время как дискретный метод Ньютона продолжает неплохо работать. Однако метод Ньютона требует больших затрат машинного времени и поэтому при выборе метода необходимо исходить их конкретных условий задачи и если известно довольно точное приближение и требуется быстрота вычислений, то к таким условиям отлично подходит разработанный метод последовательной итерации обратной матрицы Якоби.
Выводы В данной РГР был разработан и реализован метод последовательной итерации обратной матрицы Якоби, предназначенный для решения системы нелинейных уравнений. Программа, реализованная на языке PC Ma hLab хотя и не является оптимальной, однако выполняет поставленную задачу и решает системы уравнений. Реализованный метод не отличается повышенной сходимостью и требует довольно точного начального приближения, однако довольно быстро сходится к точному решению, то есть его можно порекомендовать для вычисления непростых систем нелинейных уравнений при наличии довольно точного начального приближения и наличия временных ограничений. Список литературы 1. О.М.Сарычева. &quo ;Численные методы в экономике. Конспект лекций&quo ;, Новосибирский государственный технический университет, Новосибирск 1995г. 2. Д.Мак-Кракен, У.Дорн. &quo ;Численные методы и программирование на Фортране&quo ;, Издательство &quo ;Мир&quo ;, М. 1977г. 3. Н.С.Бахвалов. &quo ;Численные методы&quo ;, Издательство &quo ;Наука&quo ;, М. 1975г.
Поэтому разработчики Maple были вынуждены реализовать в своей системе численные методы решения задач линейной алгебры, которые широко используются в основных сферах ее приложения — математическом моделировании систем и устройств, расчетах в электротехнике, механике, астрономии и т.д. Решение задач линейной алгебры в численном виде можно рассматривать как одну из форм визуализации результатов вычислений, относящихся к линейной алгебре. В ядро Maple, как отмечалось, введены очень скромные и минимально необходимые средства для решения задач линейной алгебры. Основной упор в их реализации сделан на подключаемые пакеты. Основным из них, унаследованным от предшествующих реализаций системы, является пакет решения задач линейной алгебры linalg. Это один из самых обширных и мощных пакетов в области решения задач линейной алгебры. Для их просмотра достаточно использовать команду: > with(linalg); Для большинства пользователей системой Maple набор функций пакета оказывается чрезмерно обширным и потому опущен. Укажем, однако, наиболее употребительные функции пакета linalg: • addcol — добавляет к одному из столбцов другой столбец, умноженный на некоторое число; • addrow — добавляет к одной из строк другую строку, умноженную на некоторое число; • angle — вычисляет угол между векторами; • augment — объединяет две или больше матриц по горизонтали; • backsub — реализует метод обратной подстановки при решении системы линейных уравнений (см
1. Налоговые системы развитых стран и их сравнение с налоговой системой России
2. Банковская система США: от зарождения до образования Федеральной резервной системы
3. Разработка программного обеспечения решения нелинейных уравнений
4. Линейные системы дифференциальных уравнений с периодическими коэффициентами
5. Усилитель мощности системы поиска нелинейностей
9. Экспериментальное исследование нелинейных эффектов в динамической магнитной системе
10. Усилитель мощности системы поиска нелинейностей
11. Решение нелинейных уравнений
12. Метод касательных решения нелинейных уравнений
13. Метод касательных. Решения нелинейных уравнений. Паскаль 7.0
14. Итерационные методы решения нелинейных уравнений
16. Решение систем нелинейных алгебраических уравнений методом Ньютона
17. Решение системы линейных уравнений
18. Численное решение системы линейных алгебраических уравнений методом Гаусса
20. Методы и анализ нелинейного режима работы системы ЧАП. Метод фазовой плоскости
21. Алгебра матриц. Системы линейных уравнений
25. Системы линейных уравнений
27. Нелинейные многоволновые взаимодействия в упругих системах
28. Диплом Программная система "Аттестации ИТ-специалистов"
30. Розробка автоматизованої інформаційної системи засобами табличного процесора EXCEL
31. Диплом-Нейросетевая система для управления и диагностики штанговой глубинонасосной установкой
32. Происхождение Солнечной системы и Земли
33. Вселенная, Галактика и Солнечная система
34. Происхождение и развитие солнечной системы
35. Солнечная система в центре внимания науки
37. Солнечная система (Солнце, Земля, Марс)
41. Анализ устойчивости и поддержание орбитальной структуры космической системы связи
42. Пространственная ориентация живых организмов посредством зрительной сенсорной системы
43. Система HLA и инфекционные заболевания
44. Анатомия и физиология пищеварительной системы человека
45. Бактериальная система секреции белков первого типа
48. Транспортная система (Восточного Казахстана)
49. Экономическая система Дании
50. Широкозонная система спутниковой дифференциальной навигации (теоретический аспект)
51. Схема системы налогообложения
53. Налоги и налоговая система РФ
58. ПОДАТКИ ТА ПОДАТКОВА СИСТЕМА УКРАЇНИ
59. Проблемы реформирования налоговой системы в России
60. Судебная система Российской Федерации
62. Налоговая система России в новом правовом поле
63. Бюджетная система и развитие межбюджетных отношений
64. Доходы бюджетной системы Российской Федерации
65. Задачи, основные функции и система ОВД
66. Становление системы социальной защиты государственных служащих в Российской Федерации
67. Природа и система административного права
68. Место обязательственного права в системе гражданского права
69. Система юридических лиц в гражданских правоотношениях
73. Развитие общего понятия и системы преступлений от Русской Правды к Судебнику 1497 г. (Контрольная)
74. Изменение системы государственного управления народным хозяйством в 1957г.
75. Перестройка в СССР. Попытка реформирования экономики и политической системы.
77. Государственная служба Приказной системы управления
78. Характеристика налоговой системы Великобритании
79. Предмет, источники и система конституционного права зарубежных стран
80. Система законодательства в области СМИ Германии
81. Финансовая система Республики Узбекистан
84. Система пенсионного обеспечения населения и пути его реформирования
85. Избирательная система в РФ
89. Эволюция системы европейской безопасности от СБСЕ к ОБСЕ
90. Ответственность и контроль в системе местного самоуправления
91. Налоговая система и налогоплательщики в России: варианты взаимодействия
92. Специальные налоговые режимы. Упрощенная система налогообложения
93. Налоговая система России: сущность, проблемы, перспективы развития
94. Понятие налога, налогового права, его система, их функции
95. Система налогооблажения в России
96. Упрощенная система налогообложения
97. Налоговая система России в сравнении с другими странами