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

Выполнение решения системы алгебраических уравнений вручную в редакторе Microsoft Excel, математическом пакете MathCAD. Реализация алгоритма решения на языке VBA. Вычислительная схема метода простой итерации. Результат решения нелинейных систем уравнений.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 15.12.2019
Размер файла 408,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Министерство науки и высшего образования Российской Федерации

Федеральное государственное бюджетное образовательное учреждение высшего образования

Санкт-Петербургский Горный Университет

Кафедра информатики и компьютерных технологий

Курсовая работа

По дисциплине: Информатика

"Решение систем нелинейных уравнений итерационными методами"

Иванов А.В.

Санкт-Петербург 2019

Задание

Студенту группы МО-18 Иванову Алексею Владимировичу

1. Тема работы Решение систем нелинейных уравнений итерационными методами

2. Исходные данные к работе Система нелинейных уравнений. Вариант № 8

3. Содержание пояснительной записки Титульный лист, индивидуальное задание, аннотация, оглавление, введение, вычислительная схема, блок-схема, решение нелинейных систем уравнений(вручную, средствами MS EXCEL, MATHCAD, VBA), заключение, библиографический список.

4. Перечень графического материала Схемы, рисунки, таблицы

5. Срок сдачи законченной работы 15.05.2019

Руководитель работы Кротова С.Ю. (должность) (подпись) (Ф.И. О.)

Дата выдачи задания 12.02 20 19 г.

Аннотации

Пояснительная записка представляет собой отчет о выполнении курсовой работы на тему "Решение систем нелинейных уравнений методом простых итераций с параметрами". В работе выполнено решение системы алгебраических уравнений вручную, в редакторе Microsoft Excel, математическом пакете MathCAD, реализован алгоритм решения на языке VBA.

The explanatory note is a report on the execution of the course work on the theme "Solving systems of nonlinear equations by simple iteration with parameters". The solution of the algebraic equations system has been solved manually, in the Microsoft Excel package, in MathCAD, the VBA solution algorithm has been implemented.

Оглавление

Введение

1. Вычислительная схема метода простой итерации с параметрами

2. Блок-схема алгоритма

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

4. Решение нелинейных систем уравнений средствами MS EXCEL

5. Решение системы нелинейных уравнений средствами пакета MATHCAD

6. Решение системы нелинейных уравнений с использованием VBA

Вывод

Библиографический список

Введение

Одной из самых сложных задач является решение систем нелинейных алгебраических уравнений. Существует множество методов решения таких систем, которые успешно приводят к решению, если начальное приближение было заданно достаточно близко к нему. Но если подобрать произвольное приближение, есть вероятность вовсе не найти решения данной системы.

Итерационные методы состоят в последовательном уточнении начального приближения. Каждый такой шаг называется итерацией. В результате итераций находится последовательность приближенных значений корня. Если при этом с увеличением n значения приближаются к точному решению заданного уравнения, то говорят, что данный итерационный процесс сходится. уравнение редактор алгоритм

Целью данной курсовой работы является изучение и развитие умения и навыка решения систем нелинейных алгебраических уравнений итерационными методами, а именно методом простых итераций с параметром. А также закрепление навыков работы с программами MS EXCEL, MatCAD и программирования в VBA.

1. Вычислительная схема метода простой итерации с параметрами

Пусть дана нелинейная система n уравнений с n неизвестными, корни которой необходимо найти с заданной точностью .

(1)

Для решения данной системы можно применить метод простой итерации с параметрами, алгоритм которого приведен ниже.

1. Задаем точность вычисления ? (обычно ?=10-3 - 10-6.

2. Переписываем систему виде (1):

3. Выбираем начальное приближение

4. Полагаем переменную k, которая нумерует приближения, равной нулю.

5. Полагаем Тi=1, i=1,2,…,n.

6. Вычисляем (k+1)-е приближение по формуле (2).

(2)

7. Проверяем условие (3):

(3)

Если это условие выполняется, то Х(k+1) - искомое приближение к решению и итеративный процесс закончен. В противном случае пересчитываем значение Тi(i=1,2,…,n), для чего переходим к пунктам 8-9, которые выполняются для всех i.

8, Проверяем качество нового приближения.

(4)

Если условие выполняется, то проверяем пункт 6 при следующем i, в противном случае переходим к пункту 9.

9. Подбираем новое Тi. Если Тi>0, то заменяем Тi на -Тi, в противном случае на -Тi/2. После корректировки Тi возвращаемся к пункту 6, увеличив k на единицу.

2. Блок-схема алгоритма

Рисунок 1 - Блок-схема алгоритма (метод простой итерации)

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

Методом простой итерации с точностью ?=0,001 решим систему нелинейных уравнений:

Согласно приведенному выше алгоритму, принимаем x=x1, y=x2.

Таким образом система принимает вид:

Далее необходимо выбрать начальные приближения. Для этого в системе координат х 1 и х 2 строим графики приведенных выше зависимостей (рис. 2).

Рисунок 2 - Графики зависимости х 2 от х 1

Из графика видно, что система имеет одно решение, заключенное в области ---1.4<x1<-0.9 и 0.8<x2<1.2. За начальное приближение принимаем:

Проверим условие сходимости (5). Для этого находим значения дифференциалов Ф(х) для х 1 и х 2, находящихся в областях возможных решений, найденных из графика (рис. 2).

Проверяем условия

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

Далее вычисляем по формуле (2).

На первом шаге получаем следующие значения:

Принимаем Тi=1;

Далее проверяем условие (3)

Условие не выполняется, значит пересчитываем значение Т, для чего проверяем условие (4) для каждого значения i.

Условие (4) не выполняется, значит принимаем

Тi=-1 для

Условие (4) не выполняется, значит принимаем Тi=-1 для

Переходим ко второму шагу. Вычисляем значения и

Далее проверяем условие (3)

Условие не выполняется, значит пересчитываем значение Т, для чего проверяем условие (4) для каждого значения i.

Условие (4) выполняется, значит Тi без изменений для

Условие (4) выполняется, значит Тi без изменений для

Переходим к третьему шагу. Вычисляем значения и

Далее проверяем условие (3)

Условие выполняется, значит Х 3 - искомое приближение к решению и итеративный процесс закончен. Найденные решения х 1=-1.238 и х 2=0.985. Результаты вычислений представлены в табл. 1.

Таблица 1

Результаты вычислений

k

T1/T2

0

-1.2

1

1 / 1

0.041

0.01

1

-1.159

1.01

-1 / -1

0.088

0.0163

2

-1.247

0.994

-1 / -1

-0.009

0.0092

3

-1.238

0.985

4. Решение нелинейных систем уравнений средствами MS EXCEL

Отображение результатов решения нелинейных систем уравнений в пакете Microsoft Excel представлено на рис. 3 в режиме отображения данных и на рис. 4 в режиме отображения формул.

Рисунок 3 - Расчет в пакете Microsoft Excel

Рисунок 4 - Расчётные формулы

Решением системы будет

В результате вычислений средствами MS Excel решение системы совпали с полученными при расчете вручную.

5. Решение системы нелинейных уравнений средствами пакета MATHCAD

Результаты решения заданной системы нелинейных уравнений в пакете MathCAD представлены на рис. 5.

Рисунок 5 - Результат расчета в пакете MathCAD

6. Решение системы нелинейных уравнений с использованием VBA

На рис. 6 представлен лист Excel, на котором отображается результат вычисления программы.

Рисунок 6 - Результат вычисления программы на VBA

Листинг программы:

Dim i, j, k, n As Byte

Dim x1, x2, x11, x12, t1, t2, f1, f2, a As Single

Sub kursMO18v8 ()

eps = 0.001

n = 15

k = 1

t1 = 1

t2 = 1

x1 = Cells(3, 2)

x2 = Cells(3, 3)

For i = 1 To n

x11 = x1 + t1 * (x1 + Sin(x2) + 0.4)

x12 = x2 + t2 * (x2 - (Cos(x1 + 1)) / 2 - 1 / 2)

f1 = x1 + Sin(x2) + 0.4

f2 = x2 - (Cos(x1 + 1)) / 2 - 1 / 2

a = f1 + f2

y1 = x11 + Sin(x12) + 0.4

y2 = x12 - (Cos(x11 + 1)) / 2 - 1 / 2

If Abs(y1) < Abs(f1) Then

t1 = 1 * t1

ElseIf t1 > 0 Then

t1 = -1 * t1

Else

t1 = -t1 / 2

End If

If Abs(y2) < Abs(f2) Then

t2 = 1 * t2

ElseIf t2 > 0 Then

t2 = -1 * t2

Else

t2 = -t2 / 2

End If

Cells(k + 3, 1) = k

Cells(k + 3, 2) = x11

Cells(k + 3, 3) = x12

Cells(k + 3, 6) = a * a

Cells(k + 3, 4) = y1

Cells(k + 3, 5) = y2

Cells(k + 3, 7) = t1

Cells(k + 3, 8) = t2

x1 = x11

x2 = x12

i = i + 1

k = k + 1

If ((a * a) < (eps * eps)) Then

Exit For

Else

End If

Next i

End Sub

Вывод

В ходе выполнения курсовой работы была разработана программа на языке VBA, позволяющая находить решение системы нелинейных уравнений методом простых итераций с параметром. Данная программа была проверена тем же методом с помощью вычислений вручную, в MS Excel и MathCAD. В результате проведённой проверки результат, полученный с помощью программы, совпал с результатами проверки в вышеуказанных программах, что подтверждает правильность составления программы.

Библиографический список

1. Бычков М.И. Основы программирования на VBA для Microsoft Excel: Учебное пособие / М.И. Бычков. - Новосибирск: Изд-во НГТУ, 2010. - 99 с.

2. Гарнаев А.Ю., Рудикова Л.В. Microsoft Office Excel 2010: разработка приложений: Практическое пособие / А.Ю. Гарнаев, Л.В. Рудикова - СПб.: БХВ - Петербург, 2011. - 521 с.

3. Демидович Б.П., Марон И.А. Основы вычислительной математики: Учебное пособие / Б.П. Демидович, И.А. Марон. 8-е изд., стер. - СПб.: Издательство "Лань", 2011. - 627 с.

4. Кузин А.В., Чумакова Е.В., Основы работы с Microsoft Office 2013: Учебное пособие / А.В. Кузин, Е.В. Чумакова. - М.: ФОРУМ: инфра-м, 2015. - 160 с.

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.