45928 (Решение системы нелинейных уравнений)

2016-07-31СтудИзба

Описание файла

Документ из архива "Решение системы нелинейных уравнений", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "45928"

Текст из документа "45928"

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

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

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

обратной матрицы Якоби.

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

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

уравнений:

F1(X1,X2,...,Xn)=0; i=1,2,...,n,

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

X0=(x10,x20,...xn0).

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

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

H0=E.

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

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

Pk = - Hk * F(Xk);

2. Находятся

Xk+1 = Xk + tk*Pk.

Первоначально tk=1. Затем путем последовательного деления tk на 2 находим такое

tk, чтобы выполнялось неравенство:

¦ F(Xk+1) ¦ < ¦ F(Xk) ¦

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

¦ F(Xk+1) ¦ < E,

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

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

Yk= F(Xk+1) - F(Xk)

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

Hk+1 = Hk - (Hk*Yk - Pk*tk) * (Pk)T * (Hk)T / ((Pk)T * Hk*Yk)

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

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

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

OBRJ.M, OBRF.M и FUN1.M. Решением поставленной задачи занимается модуль OBRF.M,

а два остальных являются вспомогательными:

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

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

который возвращает вычисленные левые части для требуемого уравнения.

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

запрашивается допустимая ошибка. Затем вызывается модуль OBRJ.M, который и

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

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

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

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

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

(распечатки данных модулей приведены в приложении):

1. OBRJ.M

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

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

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

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

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

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

"Стандартный" головной модуль. В данном модуле задаются начальные значения в

виде вектора, например:

X0=[0.4 0.9]

Также в данном модуле запрашивается допустимая ошибка,очищается экран, а также

производятся другие подготовительные действия.

Затем происходит вызов модуля OBRF.M с полученными входными данными. Формат

вызова данного модуля описан далее (в описании самого модуля).

После вычислений в головную программу возвращаются результаты вычислений на

основе которых строятся графики а также выводятся оценки по затратам машинного

времени и быстродействия.

2. OBRF.M

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

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

FunFcn - имя функции, написанной пользователем, которая вычисляет левые части

для требуемой системы в определенной точке.

X0 - вектор-строка, определяющий начальные значения (начальное приближение).

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

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

Tout - Столбец итераций ("Время")

Xout - Столбцы значений вычисленных на каждом этапе для каждой итерации

DXout - Столбцы погрешностей по каждой компоненте, вычисленные на определенном

этапе

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

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

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

Данный "вычислительный" модуль реализует метод последовательной итерации

обратной матрицы Якоби. Общая структура вызова данного модуля:

[Tout,Xout,DXout]=OBRF(FunFcn,X0,E);

Значения каждого из параметров были описаны выше.

На начальном этапе в данном модуле инициализируются внутренние переменные

(например, задается единичная матрица H, в соответствии с размерностью X0),

формируются (на основе начальных значений) первичные элементы матриц

Tout,Xout,DXout.

Затем данная функция, как и многие другие в численных методах,имеет вид:

While ОШИБКА > ДОПУСТИМОЙ ОШИБКИ

Оператор1

Оператор2

.........

.........

ОператорN

End

Внутри данного цикла происходят вычисления внутренней переменной Pk на каждом

шаге K и, вычисляется начальное приближение Xk+1. Первоначально t=1 (Не номер

итерации, а внутренний параметр!). Затем, в очередном цикле While...End в

случае, если ¦F(Xk+1)¦ < ¦F(Xk)¦ t=t/2 и снова вычисляется Xk+1. Когда очередное

Xk+1 найдено, вычисляется Yk, а затем и новое приближение матрицы H.

Итерационный процесс заканчивается, если ¦F(Xk+1)¦ < E. Если данное условие не

выполняется - итерационный процесс продолжается заново.

Формирование выходных значений-матриц происходит внутри данного цикла и поэтому

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

заканчивается и сама функция.

3. FUN1.M

Модуль, вычисляющий левые части

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

X - вектор-строка, задающий точки для вычислений по каждой компоненте.

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

FF - вектор-строка, возвращающий значения каждой компоненты в определенной точке

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

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

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

В принципе, текст данного модуля не требует пояснений. В нем пользователь

реализует систему уравнений, которая подлежит решению. То есть на входные

значения X данная функция возвращает левые части по каждому уравнению.

Единственное требование к данному модулю - соблюдение формата, то есть входные и

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

Сравнительный анализ и

оценка быстродействия.

Сравнительный анализ показал, что данный метод обладает неплохой сходимостью,

так как попробованный метод простой итерации с параметром вообще отказался

сходиться для данной системы. Однако хорошо подходит для сравнения дискретный

метод Ньютона, так как данные методы практически одинаковы что по точности что

по затратам.

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

порядка 682

Быстродействие: порядка 0.11 секунды

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

Число операций: порядка 990

Быстродействие: порядка 0.22 секунды

Как видно из вышеприведенных данных, эти два метода очень близки между собой, но

метод Ньютона дискретный более сложен в реализации, однако обладает лучшей

сходимостью, например при начальных значениях X0=[2.0 2.0]; метод

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

как дискретный метод Ньютона продолжает неплохо работать. Однако метод Ньютона

требует больших затрат машинного времени и поэтому при выборе метода необходимо

исходить их конкретных условий задачи и если известно довольно точное

приближение и требуется быстрота вычислений, то к таким условиям отлично

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

Выводы

В данной РГР был разработан и реализован метод последовательной итерации

обратной матрицы Якоби, предназначенный для решения системы нелинейных

уравнений. Программа, реализованная на языке PC MathLab хотя и не является

оптимальной, однако выполняет поставленную задачу и решает системы уравнений.

Реализованный метод не отличается повышенной сходимостью и требует довольно

точного начального приближения, однако довольно быстро сходится к точному

решению, то есть его можно порекомендовать для вычисления непростых систем

нелинейных уравнений при наличии довольно точного начального приближения и

наличия временных ограничений.

Список литературы

1. О.М.Сарычева. "Численные методы в экономике. Конспект лекций", Новосибирский

государственный технический университет, Новосибирск 1995г.

2. Д.Мак-Кракен, У.Дорн. "Численные методы и программирование на Фортране",

Издательство "Мир", М. 1977г.

3. Н.С.Бахвалов. "Численные методы", Издательство "Наука", М. 1975г.

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5173
Авторов
на СтудИзбе
436
Средний доход
с одного платного файла
Обучение Подробнее