Разработка программного обеспечения для решения нелинейных уравнений
Способы решения нелинейных уравнений средствами математики и с применением средств программирования. Примеры применения методов половинного деления (дихотомии), проб, хорд, касательных, итераций для решения уравнений с помощью программного обеспечения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 24.03.2018 |
Размер файла | 121,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Сахалинского государственного университета
Факультета математики, физики и информатики
Разработка программного обеспечения для решения нелинейных уравнений
Симаков Егор Евгеньевич, студент 5 курса
Одним из приоритетов модернизации является достижение современного качества образования, соответствующего потребностям страны и мировым стандартам. Актуальность выбранной темы связана с информатизацией процесса обучения. Роль математического аппарата в решении задач по естественным дисциплинам нельзя переоценить. Весь комплекс естественных наук построен и развивается на базе математических знаний. Однако в настоящее время сложилось противоречие между требованиями информатизации обучения и существующим учебно-методическим ее обеспечением. Решению этой проблемы и посвящена данная статья.
Задачи:
* Проанализировать специальную литературу и теоретически обосновать необходимость внедрения элементов программирования при решении нелинейных уравнений.
* Выбрать некоторые методы решения нелинейных уравнений.
* Разработать программное обеспечение для решения нелинейных уравнений.
I. Способы решения нелинейных уравнений средствами математики:
* введение новой переменной;
* графический способ;
* разложение на множители;
* сведение обеих частей уравнения к одному показателю;
* сведение обеих частей уравнения к одному основанию;
* применение свойств показательной, степенной и логарифмической функций.
II. Решение нелинейных уравнений с применением средств программирования.
Созданная программа предусматривает 5 методов решения нелинейных уравнений.
Ход работы с программой следующий:
* произвольно задать отрезок значений переменной Х и проверить с помощью программы, содержит ли он корни (уточнение корней);
* задать точность вычислений корней в виде 0,0…1;
* выбрать максимальное количество итераций (повтора применения алгоритма вычислений), чтобы избежать зацикливания;
* определить метод решения.
1. Метод половинного деления (дихотомия) [2].
Любое уравнение необходимо свести к однородному: f(x)=0. Рассмотрим функцию y=f(x). Построим её график (рис. 1) и с помощью корней изучим его свойства на отрезке [a;b], заданном нами. Так как на заданном отрезке [a;b] существует корень уравнения, то график пересекает на данном отрезке ось Ох. Программа подставит а в уравнение вместо х. Получим f(a). Найдем с=(a+b)/2. Вычислим f(c). Найдем f(a)*f(c).
Рис. 1. График функции y=f(x). Метод дихотомии.
Если значение произведения меньше 0, то границу b сдвинем в с, если же оно больше 0, то а сдвинем в с. Если f(c)=0 (c-корень), то х найдено. Если f(c)?0, то процесс продолжается, пока значение |a-b| остается большим точности или не достигнуто максимальное количество операций. В итоге х=(a+b)/2.
2. Метод проб [1, с. 73].
Разделим отрезок [a;b] на 10 равных частей (рис. 2). Выберем ту часть, в которой находится корень (где меняется знак значений функции). Её снова разделим на 10 частей. Этот процесс будем продолжать, пока |a-b| не станет меньше точности или достигнуто максимальное количество операций. В итоге х = (a+b)/2.
Рис. 2. График функции y=f(x). Метод проб.
3. Метод хорд [2].
Соединим точки f(a) и f(b) (рис. 3). Получим хорду. Она пересекает Ох в точке С. Если f(x) - возрастает, то сдвинем b в с, если f(x) - убывает, то сдвинем a в с. Из точки С опустим перпендикуляр на график. Получим точку а1. Построим хорду f(a1), f(b). Продолжаем процесс построения хорд, пока значение |a-b| остается большим точности или не достигнуто максимальное количество итераций. Абсцисса точки С вычисляется по формуле: с = а - ((b-a)/ (f(b) - f(a))) * f(a). В итоге: х = с.
Рис. 3. График функции y=f(x). Метод хорд.
4. Метод касательных [3].
Пусть на [a;b] уравнение f(x) = 0 имеет корень в точке А (а, f(a)). Проведем касательную к графику функции у = f(x) в точке, совпадающей с концом отрезка, в которой знаки 2-ой производной и функции одинаковы (рис. 4). Имеем точку пересечения с Ох - с1. Для нахождения точки пересечения используем формулу: или . Продолжаем этот процесс, пока значение |a-b| больше точности или х = с1.
5. Метод итераций [3].
Пусть решаем уравнение f(x) = 0. Заменим его на уравнение х = j(х), которое получается из данного путем эквивалентных преобразований (имеет те же корни). Это уравнение определяется на некотором множестве Е. Если значение f(x) тоже принадлежит Е, то можно построить итерационную последовательность значений функции j(х) с начальным значением х0 из Е. Если эта последовательность сходится, то её предел является единственным корнем уравнения х = j(х). Таким образом, исходное уравнение будет решено. В противном случае решить уравнение таким методом нельзя. В итоге х = х0 - f(x)/М, где М - максимальное значение на [a;b].
Рис. 4. График функции y=f(x). Метод касательных.
Учитываем, что х0 = (a+b)/2, и процесс продолжается до тех пор, пока |х0 -х| остается большим точности или не достигнуто максимальное количество операций. В качестве примера рассмотрим уравнение . Построим график функции (рис. 5).
Рис. 5. График функции .
Видим, что данное уравнение имеет 3 корня. Используя разработанное программное обеспечение, решим данное уравнение (рис. 6):
Рис. 6. Решение уравнения .
Таблица 1 Получим следующие результаты
Метод дихотомии |
Метод проб |
Метод хорд |
Метод касательных |
Метод итераций |
||
интервал [-1;0] |
-0,597747802734375 |
-0,59795 |
-0,59773518811888 |
-0,59773518811888 |
-0,597628831460005 |
|
14 итераций |
9 итераций |
50 итераций |
5 итераций |
9 итераций |
||
интервал [0;1] |
0,680450439453125 |
0,68005 |
0,68044919502534 |
0,68044919502534 |
Последовательность расходится |
|
14 итераций |
17 итераций |
20 итераций |
50 итераций |
|||
интервал [4;5] |
4,91726684570313 |
4,91705 |
4,91728599309353 |
4,91728599309353 |
4,91724380954198 |
|
14 итераций |
20 итераций |
50 итераций |
6 итераций |
4 итерации |
уравнение программный дихотомия итерация
Литература
1. Пулькин К.Н., Никольская Е.П., Дьячков А.М. Вычислительная математика - М.: Просвещение, 1974.
2. Численные методы алгебры
3. Численные методы решения нелинейных уравнений
Размещено на Allbest.ru
...Подобные документы
Особенности точных и итерационных методов решения нелинейных уравнений. Последовательность процесса нахождения корня уравнения. Разработка программы для проверки решения нелинейных функций с помощью метода дихотомии (половинного деления) и метода хорд.
курсовая работа [539,2 K], добавлен 15.06.2013Суть основных идей и методов, особенностей и областей применения программирования для численных методов и решения нелинейных уравнений. Методы итераций, дихотомии и хорд и их использование. Алгоритм метода Ньютона, создание программы и ее тестирование.
курсовая работа [423,0 K], добавлен 17.02.2010Обзор существующих методов по решению нелинейных уравнений. Решение нелинейных уравнений комбинированным методом и методом хорд на конкретных примерах. Разработка программы для решения нелинейных уравнений, блок-схемы алгоритма и листинг программы.
курсовая работа [435,8 K], добавлен 15.06.2013Описание методов дихотомии (половинного деления) и касательных. Их применение для решения нелинейных уравнений. Графическое отделение корней. Блок-схемы алгоритмов. Тексты (листинги) программ на языке Delphi. Тестовый пример решения задачи с помощью ЭВМ.
курсовая работа [944,6 K], добавлен 15.06.2013Особенности решения уравнений с одной переменной методом половинного деления. Оценка погрешности метода простой итерации. Суть решения уравнений в пакете Mathcad. Векторная запись нелинейных систем. Метод Ньютона решения систем нелинейных уравнений.
курсовая работа [2,1 M], добавлен 12.12.2013Исследование количества, характера и расположения корней. Определение их приближенных значений итерационными методами: половинного деления (дихотомии) и хорд. Тексты программ. Решение уравнений на языках программирования Borland Delfi и Turbo Pascal.
курсовая работа [500,3 K], добавлен 15.06.2013Сравнительный анализ итерационных методов решения нелинейных алгебраических и трансцендентных уравнений. Простейший алгоритм отделения корней нелинейных уравнений. Метод половинного деления. Геометрический смысл метода Ньютона. Метод простой итерации.
реферат [95,0 K], добавлен 06.03.2011Метод половинного деления как один из методов решения нелинейных уравнений, его основа на последовательном сужении интервала, содержащего единственный корень уравнения. Алгоритм решения задачи. Описание программы, структура входных и выходных данных.
лабораторная работа [454,1 K], добавлен 09.11.2012Изучение методов решения нелинейных уравнений таких как: метод Ньютона, модифицированный метод Ньютона, метод Хорд, метод простых Итераций. Реализация программы для персонального компьютера, которая находит решение нелинейного уравнения разными способами.
практическая работа [321,9 K], добавлен 24.06.2012Разработка проекта по вычислению корней нелинейных уравнений методом итераций, в среде программирования Delphi. Интерфейс программы и ее программный код, визуализация метода. Сравнение результатов решения, полученных в Mathcad 14 и методом итераций.
контрольная работа [1,9 M], добавлен 10.12.2010Разработка программы для нахождения корней нелинейных уравнений несколькими методами: методом хорд, касательных, половинного деления, итераций. Реализации программы с помощью системы программирования Delphi 7. Методика работы пользователя с программой.
курсовая работа [1,3 M], добавлен 11.02.2013Решение нелинейных уравнений методом простых итераций и аналитическим, простым и модифицированным методом Ньютона. Программы на языке программирования Паскаль и С для вычислений по вариантам в порядке указанных методов. Изменение параметров задачи.
лабораторная работа [191,0 K], добавлен 24.06.2008Разработка с использованием приложения Mathcad алгоритма и программы решения нелинейного уравнения методами касательных, половинного деления и хорд. Решение с помощью ее заданных нелинейных уравнений. Создание графической иллюстрации полученных решений.
курсовая работа [665,7 K], добавлен 22.08.2013Итерационные методы решения нелинейных уравнений, системы линейных алгебраических уравнений (СЛАУ). Решение нелинейных уравнений методом интерполирования. Программная реализация итерационных методов решения СЛАУ. Практическое применение метода Эйлера.
курсовая работа [1,6 M], добавлен 20.01.2010Численные методы решения нелинейных уравнений, систем линейных и нелинейных алгебраических уравнений, дифференциальных уравнений, определенных интегралов. Методы аппроксимации дискретных функций и методы решения задач линейного программирования.
методичка [185,7 K], добавлен 18.12.2014Математический алгоритм вычисления корней нелинейного уравнения и его решение методом касательных. Особенности программной реализации решения таких уравнений. Процедура подготовки и решения задачи на ЭВМ, характеристика алгоритма и структуры программы.
курсовая работа [96,6 K], добавлен 02.06.2012Численные методы решения задач. Решение алгебраических и трансцендентных уравнений. Уточнение корня по методу половинного деления. Решение систем линейных уравнений методом итераций. Методы решения дифференциальных уравнений. Решение транспортной задачи.
курсовая работа [149,7 K], добавлен 16.11.2008Изучение численных методов решения нелинейных уравнений, используемых в прикладных задачах. Нахождение корня уравнения методом простой итерации и методом касательных (на примере уравнения). Отделение корней графически. Программная реализация, алгоритм.
курсовая работа [1,7 M], добавлен 15.06.2013Методы решения нелинейных уравнений: прямые и итерационные. Методы решения трансцендентных, алгебраических уравнений. Метод деления отрезка пополам, Ньютона, простой итерации. Поиск корня уравнения методом простой итерации с помощью электронных таблиц.
контрольная работа [2,4 M], добавлен 16.12.2011Разработка программы для решения нелинейных уравнений различными численными методами: с помощью дискриминанта и таблицы Горнера, теоремой Виетта. Требования к интерфейсу. Компоненты среды Delphi, использованные в программе. Реализация и тестирование.
курсовая работа [1,3 M], добавлен 20.04.2011