Разработка программного обеспечения для решения нелинейных уравнений
Роль математического аппарата в решении задач по естественным дисциплинам. Обоснование необходимости внедрения элементов программирования при решении нелинейных уравнений. Порядок применения свойств показательной, степенной и логарифмической функций.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 29.09.2012 |
Размер файла | 843,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на 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). Если значение произведения меньше 0, то границу b сдвинем в с, если же оно больше 0, то а сдвинем в с. Если f(c)=0 (c-корень), то х найдено. Если f(c)?0, то процесс продолжается, пока значение |a-b| остается большим точности или не достигнуто максимальное количество операций. В итоге х=(a+b)/2.
математический программирование логарифмический уравнение
Рис. 1. График функции y=f(x). Метод дихотомии.
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.
Рис. 4. График функции y=f(x). Метод касательных.
5. Метод итераций [3].
Пусть решаем уравнение f(x) = 0. Заменим его на уравнение х = j(х), которое получается из данного путем эквивалентных преобразований (имеет те же корни). Это уравнение определяется на некотором множестве Е. Если значение f(x) тоже принадлежит Е, то можно построить итерационную последовательность значений функции j(х) с начальным значением х0 из Е. Если эта последовательность сходится, то её предел является единственным корнем уравнения х = j(х). Таким образом, исходное уравнение будет решено. В противном случае решить уравнение таким методом нельзя. В итоге х = х0 - f(x)/М, где М - максимальное значение на [a;b]. Учитываем, что х0 = (a+b)/2, и процесс продолжается до тех пор, пока |х0 -х| остается большим точности или не достигнуто максимальное количество операций.
В качестве примера рассмотрим уравнение . Построим график функции (рис. 5).
Рис. 5. График функции .
Видим, что данное уравнение имеет 3 корня. Используя разработанное программное обеспечение, решим данное уравнение (рис. 6):
Рис. 6. Решение уравнения .
Получим следующие результаты:
Метод дихотомии |
Метод проб |
Метод хорд |
Метод касательных |
Метод итераций |
||
интервал [-1;0] |
-0,597747802 734375 14 итераций |
-0,59795 9 итераций |
-0,597735188 118875 50 итераций |
-0,597735188 118875 5 итераций |
-0,597628831 460005 9 итераций |
|
интервал [0;1] |
0,680450439453125 14 итераций |
0,68005 17 итераций |
0,680449195025342 20 итераций |
0,680449195025342 50 итераций |
Последовательность расходится |
|
интервал [4;5] |
4,91726684570313 14 итераций |
4,91705 20 итераций |
4,91728599309353 50 итераций |
4,91728599309353 6 итераций |
4,91724380954198 4 итерации |
Литература
1. Пулькин К.Н., Никольская Е.П., Дьячков А.М. Вычислительная математика - М.: Просвещение, 1974.
2. Численные методы алгебры - http://petrsu.ru/Chairs/IMO/Complex/part2/part2_a.htm.
3. Численные методы решения нелинейных уравнений - http://www.intuit.ru/department/calculate/intromathmodel/4/intromathmodel_4.html.
Размещено на Allbest.ru
Подобные документы
Численные методы решения нелинейных уравнений, систем линейных и нелинейных алгебраических уравнений, дифференциальных уравнений, определенных интегралов. Методы аппроксимации дискретных функций и методы решения задач линейного программирования.
методичка [185,7 K], добавлен 18.12.2014Обзор существующих методов по решению нелинейных уравнений. Решение нелинейных уравнений комбинированным методом и методом хорд на конкретных примерах. Разработка программы для решения нелинейных уравнений, блок-схемы алгоритма и листинг программы.
курсовая работа [435,8 K], добавлен 15.06.2013Методика и основные этапы построения ранжированных переменных, сферы и особенности их практического применения. Порядок построения графиков в декартовой системе. Приведение примеров решение нелинейных уравнений и их систем при помощи решающего блока.
контрольная работа [364,4 K], добавлен 27.03.2011Особенности решения уравнений с одной переменной методом половинного деления. Оценка погрешности метода простой итерации. Суть решения уравнений в пакете Mathcad. Векторная запись нелинейных систем. Метод Ньютона решения систем нелинейных уравнений.
курсовая работа [2,1 M], добавлен 12.12.2013Сравнительный анализ итерационных методов решения нелинейных алгебраических и трансцендентных уравнений. Простейший алгоритм отделения корней нелинейных уравнений. Метод половинного деления. Геометрический смысл метода Ньютона. Метод простой итерации.
реферат [95,0 K], добавлен 06.03.2011Суть основных идей и методов, особенностей и областей применения программирования для численных методов и решения нелинейных уравнений. Методы итераций, дихотомии и хорд и их использование. Алгоритм метода Ньютона, создание программы и ее тестирование.
курсовая работа [423,0 K], добавлен 17.02.2010Особенности точных и итерационных методов решения нелинейных уравнений. Последовательность процесса нахождения корня уравнения. Разработка программы для проверки решения нелинейных функций с помощью метода дихотомии (половинного деления) и метода хорд.
курсовая работа [539,2 K], добавлен 15.06.2013Разработка проекта по вычислению корней нелинейных уравнений методом итераций, в среде программирования Delphi. Интерфейс программы и ее программный код, визуализация метода. Сравнение результатов решения, полученных в Mathcad 14 и методом итераций.
контрольная работа [1,9 M], добавлен 10.12.2010Решение нелинейных уравнений методом простых итераций и аналитическим, простым и модифицированным методом Ньютона. Программы на языке программирования Паскаль и С для вычислений по вариантам в порядке указанных методов. Изменение параметров задачи.
лабораторная работа [191,0 K], добавлен 24.06.2008Итерационные методы решения нелинейных уравнений, системы линейных алгебраических уравнений (СЛАУ). Решение нелинейных уравнений методом интерполирования. Программная реализация итерационных методов решения СЛАУ. Практическое применение метода Эйлера.
курсовая работа [1,6 M], добавлен 20.01.2010