Решение систем нелинейных уравнений итерационными методами
Выполнение решения системы алгебраических уравнений вручную в редакторе 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
Подобные документы
Особенности решения уравнений с одной переменной методом половинного деления. Оценка погрешности метода простой итерации. Суть решения уравнений в пакете Mathcad. Векторная запись нелинейных систем. Метод Ньютона решения систем нелинейных уравнений.
курсовая работа [2,1 M], добавлен 12.12.2013Сравнительный анализ итерационных методов решения нелинейных алгебраических и трансцендентных уравнений. Простейший алгоритм отделения корней нелинейных уравнений. Метод половинного деления. Геометрический смысл метода Ньютона. Метод простой итерации.
реферат [95,0 K], добавлен 06.03.2011Суть метода Рунге-Кутта и его свойства. Решение дифференциальных уравнений первого порядка. Вычислительный блок Given/Odesolve. Встроенные функции rkfixed, Rkadapt, Bulstoer. Решения линейных алгебраических уравнений в среде MathCad и Microsoft Excel.
курсовая работа [1,1 M], добавлен 02.06.2014Итерационные методы решения нелинейных уравнений, системы линейных алгебраических уравнений (СЛАУ). Решение нелинейных уравнений методом интерполирования. Программная реализация итерационных методов решения СЛАУ. Практическое применение метода Эйлера.
курсовая работа [1,6 M], добавлен 20.01.2010Преобразование матрицы системы линейных алгебраических уравнений (СЛАУ) с помощью алгоритма Гаусса. Решение задачи методом простой итерации. Создание блок-схемы и текста программы для решения СЛАУ, реализованной на языке программирования Turbo Pascal.
курсовая работа [1,2 M], добавлен 15.06.2013Рассмотрение двух способов решения систем линейных алгебраических уравнений: точечные и приближенные. Использование при программировании метода Гаусса с выбором главного элемента в матрице и принципа Зейделя. Применение простой итерации решения уравнения.
курсовая работа [879,8 K], добавлен 05.06.2012Методы решения нелинейных уравнений: прямые и итерационные. Методы решения трансцендентных, алгебраических уравнений. Метод деления отрезка пополам, Ньютона, простой итерации. Поиск корня уравнения методом простой итерации с помощью электронных таблиц.
контрольная работа [2,4 M], добавлен 16.12.2011Обзор существующих методов по решению нелинейных уравнений. Решение нелинейных уравнений комбинированным методом и методом хорд на конкретных примерах. Разработка программы для решения нелинейных уравнений, блок-схемы алгоритма и листинг программы.
курсовая работа [435,8 K], добавлен 15.06.2013Использование MS Excel для математических расчетов. Описание численных методов решения системы линейных алгебраических уравнений. Решение систем линейных алгебраических уравнений с методами Крамера и Зейделя и с помощью табличного процессора MS Excel.
курсовая работа [1,6 M], добавлен 14.02.2021Численные методы решения нелинейных уравнений, систем линейных и нелинейных алгебраических уравнений, дифференциальных уравнений, определенных интегралов. Методы аппроксимации дискретных функций и методы решения задач линейного программирования.
методичка [185,7 K], добавлен 18.12.2014