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

Способы решения нелинейных уравнений средствами математики и с применением средств программирования. Примеры применения методов половинного деления (дихотомии), проб, хорд, касательных, итераций для решения уравнений с помощью программного обеспечения.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 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

...

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

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