Лабораторная работа: Нахождение корня нелинейного уравнения. Методы решения системы нелинейных уравнений

Уравнение типа F(x)=0 или x=f(x) называется нелинейным. Решить уравнение это значит найти такое x, при котором уравнение превращается в тождество. В общем случае уравнение может иметь 0; 1; 2; ...∞ корней. Рассмотренные ниже численные методы решения нелинейных уравнений позволяют находить один корень на заданном интервале . При этом на интервале должен существовать только один корень. Рассмотрим несколько методов решения нелинейных уравнений .

  1. Метод перебора . При решении нелинейного уравнения методом перебора задаются начальное значение аргумента x=a и шаг h, который при этом определяет и точность нахождения корней нелинейного уравнения. Пока выполняется условие F(x)*F(x+h)>0 аргумент x увеличиваем на шаг h (x=x+h). Если произведение F(x)*F(x+h) становится отрицательным, то на интервале существует решение уравнения. Структограмма метода приведена на рисунке.


  2. Метод половинного деления . При решении нелинейного уравнения методом половинного деления задаются интервал , на котором существует только одно решение, и желаемая точность ε. Затем определяется середина интервала с=(а+b)/2 и проверяется условие F(a)∙F(c)<0. Если указанное условие выполняется, то правую границу интервала b переносим в среднюю точку с (b=c). Если условие не выполняется, то в среднюю точку переносим левую границу(a=c). Деление отрезка пополам продолжается пока |b-a|>ε. Структограмма решения нелинейных уравнений методом половинного деления приведена на рисунке.

    Пока |b-a|>ε

    F(a)∙F(c)<0


    Рис. Структограмма для метода половинного деления

  3. Метод хорд . При решении нелинейного уравнения методом хорд задаются интервал , на котором существует только одно решение, и точность ε. Затем через две точки с координатами (a,F(a)) и (b,F(b)) проводим отрезок прямой линии (хорду) и определяем точку пересечения этой линии с осью абсцисс (точка c). Если при этом F(a)∙F(c)<0, то правую границу интервала переносим в точку с (b=c). Если указанное условие не выполняется, то в точку c переносится левая граница интервала (а=с). Поиск решения прекращается при достижении заданной точности |F(c)|< ε. Для определения точки пересечения хорды с осью абсцисс воспользуемся следующей формулой (попытайтесь получить формулу самостоятельно).Структограмма метода хорд показана на рисунке.

    Пока |F(c)|>ε

    F(a)∙F(c)<0


    Рис. Структограмма для метода хорд

  4. Метод касательных . При решении нелинейного уравнения методом касательных задаются начальное значение аргумента x 0 и точность ε. Затем в точке(x 0 ,F(x 0)) проводим касательную к графику F(x) и определяем точку пересечения касательной с осью абсцисс x 1 . В точке (x 1 ,F(x 1)) снова строим касательную, находим следующее приближение искомого решения x 2 и т.д. Указанную процедуру повторяем пока |F(x i)| > ε. Для определения точки пересечения (i+1) касательной с осью абсцисс воспользуемся следующей формулой (получите формулу самостоятельно). Условие сходимости метода касательных F(x 0)∙F""(x 0)>0. Структограмма решения нелинейных уравнений методом касательных показана на рис.


  5. Метод хорд-касательных . Если в методе касательных производную функции F"(x i) заменить отношением конечных приращений, то получаем расчетную формулу для метода хорд-касательных . Порядок выполнения вычислений в данном методе аналогичен рассмотренному ранее.
  6. Метод итераций . При решении нелинейного уравнения методом итераций воспользуемся записью уравнения в виде x=f(x) . Задаются начальное значение аргумента x 0 и точность ε. Первое приближение решения x 1 находим из выражения x 1 =f(x 0), второе - x 2 =f(x 1) и т.д. В общем случае i+1 приближение найдем по формуле x i +1 =f(x i). Указанную процедуру повторяем пока |f(x i)|>ε. Условие сходимости метода итераций |f"(x)|<1. Структограмма метода итераций показана на рис.


Контрольное задание. Лабораторная работа 4.

Решение нелинейных уравнений.

Задание . Решить нелинейное уравнениеуказанными в табл. методами, предварительно определив интервал , на котором существует решение уравнения. Сделать проверку решения.

Варианты уравнений и методов их решения приведены в таблице.


Варианты уравнений и методов их решения

Уравнение

Методы решения

перебора и хорд

Перебора и касательных

Перебора и хорд-касательных

Перебора и половинного деления

перебора и хорд

Перебора и касательных

Перебора и хорд-касательных

Перебора и половинного деления

перебора и хорд

Перебора и касательных

Перебора и хорд-касательных

Перебора и половинного деления

перебора и хорд

Перебора и касательных

Перебора и хорд-касательных

Перебора и половинного деления

перебора и хорд

Перебора и касательных

x 2 =exp(-x 2)-1

Перебора и хорд-касательных

Перебора и половинного деления

перебора и хорд

Перебора и касательных

Перебора и хорд-касательных

Перебора и половинного деления


  1. Название, цель работы и задание.
  2. Математическое описание, алгоритм (структограмма) и текст программы.
  3. Результаты расчета, проверка и выводы по работе.

Нахождение корней нелинейного уравнения

Курсовая

Информатика, кибернетика и программирование

Блок-схемы реализующие численные методы -для метода дихотомии: Блок-схема для метода хорд: Блок-схема для метода Ньютона: Листинг программы unit Unit1; interfce uses Windows Messges SysUtils Vrints Clsses Grphics Controls Forms Dilogs TeEngine Series ExtCtrls TeeProcs Chrt Menus OleCtnrs StdCtrls xCtrls OleCtrls VCF1 Mth; type TForm1 = clssTForm GroupBox1: TGroupBox; OleContiner2: TOleContiner; MinMenu1: TMinMenu; N1: TMenuItem; Chrt1: TChrt; Series1:...

РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ НЕФТИ И ГАЗА им. И.М. ГУБКИНА

Кафедра информатики

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

по дисциплине «Информатика».

Тема: « Нахождение корней нелинейного уравнения»

Выполнил: студентка

Манепова А. М

группы: ГИ-12-05

Проверил:

Москва, 2013


Задание на выполнение курсовой работы.


Теория нахождения корней нелинейного уравнения. Описание используемых численных методов.

1. Метод половинного деления (дихотомии)

2.Метод хорд

3. Метод Ньютона

Расчеты в математическом пакете Mat lab


Отчет о результатах вычисления приближенного значения корня уравнения в MS Excel.

Результаты расчета с использованием Побора Параметра


Результаты расчета с использованием Поиска Решений


Описание приложения созданного в среде Delphi.


Блок – схемы реализующие численные методы

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


Изображение окна приложения


Анализ полученных результатов


Литература.


Задание на выполнение курсовой работы.

  1. расчет , выполненный в математическом пакете Matlab (Mathematica 5 .) (файл-функция для описания нелинейного уравнения, график, решение в символьном и численном виде).
  2. Нахождение корней нелинейного уравнения в электронных таблицах MS Excel (вид нелинейного уравнения, график нахождения корней нелинейного уравнения, найти корень нелинейного уравнения, используя средства условного анализа: «Побор параметра», «Поиск решения»).
  3. Создание приложения для нахождения корней нелинейного уравнения в среде Delphi (вид нелинейного уравнения, график на заданном интервале, для каждого метода: результаты табулирования функции на заданном интервале с заданным шагом, для каждого метода численного метода пользовательскую подпрограмму с передачей параметров). Результаты отобразить на форме в виде таблицы и в файле. Предусмотреть изменение точности значения (Е <= 0 , 001).
  4. вид уравнения


Теория нахождения корней нелинейного уравнения. Описание используемых численных методов.

Пусть задана функция , непрерывная вместе со своими несколькими производными. Требуется найти все или некоторые вещественные корни уравнения

.
Данная задача распадается на несколько подзадач. Во-первых, необходимо определить количество корней, исследовать их характер и расположение. Во-вторых, найти приближенные значения корней. В-третьих, выбрать из них интересующие нас корни и вычислить их с требуемой точностью e. Первая и вторая задачи решаются, как правило, аналитическими или графическими методами. В случае, когда ищутся только вещественные корни уравнения, полезно составить таблицу значений функции . Если в двух соседних узлах таблицы функция имеет разные знаки, то между этими узлами лежит нечетное число корней уравнения (по меньшей мере, один). Если эти узлы близки, то, скорее всего, корень между ними только один.
Найденные приближенные значения корней можно уточнить с помощью различных итерационных методов.

Рассмотрим три метода: 1) метод дихотомии (или деление отрезка пополам); 2) метод простой итерации и 3) метод Ньютона .

1. Метод половинного деления (дихотомии)


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

2.Метод хорд

При решении нелинейного уравнения методом хорд задаются интервалы , на котором существует только одно решение, и точность Ɛ. Затем через две точки с координатами (a,F(a)) и (b,F(b)) проводим отрезок прямой линии (хорду) и определяем точку пересечения этой линии с осью абцисс. Ели при этом F(a)*F(b) <0, то праву границу интервала пееносиим в точку x (b=x). Если указанное условие не выполняется, то в точку x переносится левая граница интервала (a=x). Поиск решения пекращается при достижении заданной точности |F(x)|>Ɛ. Вычисления ведутся до тех пор, пока не выполнится неравенство: . Итерационная формула метода хорд имеет вид:

3. Метод Ньютона

Чтобы численно решить уравнение методом простой итерации , его необходимо привести к следующей форме: , где — сжимающее отображение .

Для наилучшей сходимости метода в точке очередного приближения должно выполняться условие . Решение данного уравнения ищут в виде , тогда:

В предположении, что точка приближения «достаточно близка» к корню , и что заданная функция непрерывна , окончательная формула для такова:

С учётом этого функция определяется выражением:

Эта функция в окрестности корня осуществляет сжимающее отображение , и алгоритм нахождения численного решения уравнения сводится к итерационной процедуре вычисления:

Расчеты в математическом пакете Mat lab

В математическом пакете по условию задания был построен график функции и найден корень уравнения с использование символьного решения(solve ) и в численном виде используя встроенные функции: fzero и fsolve . Для описания моей функции использовала файл-функцию.

На следующем рисунке представлен графи функции:


Для записи команд использовала
M -файл:


В командном окне были получены следующие результаты:

r 1 =

r 2 =

r 3 =

r 4 =

8.0000

r5 =

7.9979 -8.0000


Отчет о результатах вычисления приближенного значения корня уравнения в MS Excel.

MS Excel был проведен расчет приближенного значения корня уравнения с помощью встроенных возможностей «Подбор параметров» и «Поиск решений». Для выбора начального приближения предварительно мной была построена диаграмма.

Результаты расчета с использованием Побора Параметра

x =-9 (исходя из диаграммы)

В результате использования Подбора Параметра был найден корень x =-8,01.


Результаты расчета с использованием Поиска Решений

В качестве начального приближения был выбран x =-9 (исходя из диаграммы)


После выполнения был получен следующий результат:

Поиск решения дал мне значение x = -8,00002


Описание приложения созданного в среде Delphi.

При создании приложения в среде Delphi в интерфейсе был предусмотрен вывод вида функции и графика. Нахождение корня нелинейного уравнения было реализовано с использование трех методов: Метод дихотомии, Метод Хорд и Метод Ньютона. В отличии от расчета в Excel , где корни находились с помощью подбора параметров и поиска решения, в программе предусмотрен ввод точности вычисления пользователем. Результаты расчета выводятся как в окно приложения так и в текстовый файл.


Блок – схемы реализующие численные методы

Блок-схема для метода дихотомии:


Блок-схема для метода хорд:


Блок-схема для метода Ньютона:

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

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, TeEngine, Series, ExtCtrls, TeeProcs, Chart, Menus, OleCtnrs,

StdCtrls, AxCtrls, OleCtrls, VCF1, Math;

type

TForm1 = class(TForm)

GroupBox1: TGroupBox;

OleContainer2: TOleContainer;

MainMenu1: TMainMenu;

N1: TMenuItem;

Chart1: TChart;

Series1: TPointSeries;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

Label1: TLabel;

Edit1: TEdit;

GroupBox2: TGroupBox;

GroupBox3: TGroupBox;

GroupBox4: TGroupBox;

Label2: TLabel;

Label3: TLabel;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Label4: TLabel;

Edit5: TEdit;

Label5: TLabel;

Edit7: TEdit;

Label7: TLabel;

F1Book1: TF1Book;

F1Book2: TF1Book;

F1Book3: TF1Book;

F1Book4: TF1Book;

Procedure N1Click(Sender: TObject);

Procedure N3Click(Sender: TObject);

Procedure FormCreate(Sender: TObject);

Procedure N4Click(Sender: TObject);

Procedure N5Click(Sender: TObject);

Private

{ Private declarations }

Public

{ Public declarations }

End;

const

xmin:real=-20;

xmax:real=20;

Form1: TForm1;

X,y,t,a,b,cor:real;

I,n:integer;

Fail:textfile;

implementation

{$R *.dfm}

function f(x:real):real;

begin

f:=(8+x)/(x*sqrt(sqr(x)-4));

end;

function f1(x:real):real;

begin

f1:=(-power(x,3)-16*x*x+32)/(x*X*sqrt(power(x*x-4,3)));

end;

procedure metoddix(ta,tb,eps:real;var xk:real;var kolvo: integer);

begin

kolvo:=0;

repeat

xk:=(ta+tb)/2;

kolvo:=kolvo+1;

Form1.F1book1.NumberRC:=xk;

Form1.F1book1.NumberRC:=f(xk);

if f(ta)*f(xk)<0 then tb:=xk

else ta:=xk;

until (abs(f(xk))<=eps);

end;

procedure metodhord(ta,tb,eps:real;var xk:real;var kolvo: integer);

begin

kolvo:=0;

repeat

xk:= ta-f(ta)*(ta-tb)/(f(ta)-f(tb));

kolvo:=kolvo+1;

Form1.F1book2.NumberRC:=xk;

Form1.F1book2.NumberRC:=f(xk);

if f(ta)*f(xk)<0 then tb:=xk

else ta:=xk;

until (abs(f(xk))<=eps);

end;

procedure metodnyutona(ta,eps:real;var xk:real;var kolvo: integer);

begin

kolvo:=0;

repeat

xk:= ta-f(ta)/f1(ta);

ta:=xk;

kolvo:=kolvo+1;

Form1.F1book3.NumberRC:=xk;

Form1.F1book3.NumberRC:=f(xk);

until (abs(f(xk))<=eps);

end;

procedure TForm1.N1Click(Sender: TObject);

begin

x:=xmin;

i:=0;

while x<=xmax do

begin

if abs(x)>5 then

Begin

I:=i+1;

Y:=f(x);

Series1.Addxy(x,y);

F1book4.NumberRC:=x;

F1book4.NumberRC:=y;

End;

x:=x+0.5;

end;

end;

procedure TForm1.N3Click(Sender: TObject); // Вычисление корня методом половинного деления

begin

F1book1.ClearRange(1,1,100,2,3);

t:=strtofloat(Edit1.Text);

a:=strtofloat(Edit2.Text);

b:=strtofloat(Edit3.Text);

metoddix(a,b,t,cor,n);

F1book4.TextRC:=" дихотомия ";

F1book4.TextRC:=" корень =";

F1book4.NumberRC:=cor;

F1book4.TextRC:="y=";

F1book4.NumberRC:=f(cor);

F1book4.TextRC:=" количество итераций =";

F1book4.NumberRC:=n;

Append(fail);

Writeln(fail);

Writeln(fail," Расчет методом дихотомии ");

closefile(fail);

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

Assignfile(fail," отчет .txt");

Rewrite(fail);

Closefile(fail);

end;

procedure TForm1.N4Click(Sender: TObject); // Вычисление корня методом хорд

begin

F1book2.ClearRange(1,1,100,2,3);

t:=strtofloat(Edit1.Text);

a:=strtofloat(Edit5.Text);

b:=strtofloat(Edit4.Text);

metodhord(a,b,t,cor,n);

F1book4.TextRC:=" хорды ";

F1book4.TextRC:=" корень =";

F1book4.NumberRC:=cor;

F1book4.TextRC:="y=";

F1book4.NumberRC:=f(cor);

F1book4.TextRC:=" количество итераций =";

F1book4.NumberRC:=n;

Assignfile(fail," отчет .txt");

Append(fail);

Writeln(fail);

Writeln(fail," Расчет методом хорд ");

writeln(fail,"Точность расчета = ",t:10:7);

Writeln(fail,"Начальное приближение:a = ",a:8:3," b = ",b:8:3);

writeln(fail, " Найден корень : x = ",cor:8:3, " y=f(x)= ",f(cor):8:6);

writeln(fail, "Количество итераций = ",n);

closefile(fail);

end;

procedure TForm1.N5Click(Sender: TObject); // Вычисление корня методом Ньютона

begin

F1book3.ClearRange(1,1,100,2,3);

t:=strtofloat(Edit1.Text);

a:=strtofloat(Edit7.Text);

metodnyutona(a,t,cor,n);

F1book4.TextRC:=" Ньютона ";

F1book4.TextRC:=" корень =";

F1book4.NumberRC:=cor;

F1book4.TextRC:="y=";

F1book4.NumberRC:=f(cor);

F1book4.TextRC:=" количество итераций =";

F1book4.NumberRC:=n;

Assignfile(fail," отчет .txt");

Append(fail);

Writeln(fail);

Writeln(fail," Расчет методом Ньютона ");

writeln(fail,"Точность расчета = ",t:10:7);

Writeln(fail,"Начальное приближение:a = ",a:8:3," b = ",b:8:3);

writeln(fail, " Найден корень : x = ",cor:8:3, " y=f(x)= ",f(cor):8:6);

writeln(fail, "Количество итераций = ",n);

Closefile(fail);

end;

end.


Изображение окна приложения

Первоначальный интерфейс имеет следующий вид:

После выполнения расчетов при E <= 0,001:

В качестве отчета был сформирован файл «Отчет. txt .»:


Анализ полученных результатов

В соответствии с заданием на курсовую работу в математическом пакете мною был найден корень нелинейного уравнения (x =-8) и построен график.

В электронных таблицах был найден корень уравнения с помощью двух встроенных возможностей «Подбор параметра» и «Поиск решения» , при этом «Поиск решения» все же дал более точное значение. Результаты практически совпали с результатами в Matlab .

Для поиска корня в среде Delphi пользователь имеет возможность ввести точность вычисления с клавиатуры. Тестирование программы показало, что при одной и той же заданной точности вычисления метод Ньютона находит искомое значение при меньшем числе итераций.

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


Литература.

  1. Амосов А.А. и др. вычислительные методы для инженеров М., Высшая школа, 1994.
  2. Фаронов В.В. Delphi. Программирование на зыке высокого уровня

3 . Уокенбах Д . Microsoft Office Excel 2007. Библия пользователя

Волков В.Б. Понятный самоучитель Excel 2010

где функция f (x ) определена и непрерывна на конечном или бесконечном интервале x (a , b ) .

Всякое значение

ξ ,

обращающее

функцию f (x )

называется корнем

уравнения

функции f (x ) .

Число ξ

называется корнем k-й кратности,

если при x = ξ вместе с функцией

f (x)

равны нулю и ее производные до порядка (k-1) включительно:

(k − 1)

Однократный корень называется простым . Два уравнения называются равносильными (эквивалентными), если множества их решений совпадают.

Нелинейные уравнения с одной переменной подразделяются на алгебраические (функция f (x ) является алгебраической) и трансцендентные в противном случае. Уже на примере алгебраического многочлена известно, что нули f (x ) могут быть как действительными, так и комплексными. Поэтому более точная постановка задачи состоит в нахождении корней уравнения (6.1), расположенных в заданной области комплексной плоскости. Можно рассматривать также задачу нахождения действительных корней, расположенных на заданном отрезке. Иногда, пренебрегая точностью формулировок, просто говорят, что требуется решить уравнение (6.1). Большинство алгебраических и трансцендентных нелинейных уравнений аналитически (т.е. точно) не решается, поэтому на практике для нахождения корней используются численные методы. В связи с этим под решением уравнения (6.1) будем понимать задачу приближенного нахождения корней

уравнения вида (6.1). При этом под близостью приближенного значения x к корню ξ уравнения, как правило, понимают выполнение неравенства

| ξ − x | < ε при малых ε > 0 ,

т.е. абсолютную погрешность приближенного равенства x ≈ ξ .

Используют также и относительную погрешность, т.е. величину | ξ − x | .

Нелинейная функция f (x ) в своей области определения может иметь конечное или бесконечное количество нулей или может не иметь их вовсе.

Численное решение нелинейного уравнения (6.1) заключается в нахождении с заданной точностью значений всех или некоторых корней уравнения и распадается на несколько подзадач:

во-первых, надо исследовать количество и характер корней (вещественные или комплексные, простые или кратные),

во-вторых, определить их приближенное расположение, т.е. значения начала и конца отрезка, на котором лежит только один корень,

в-третьих, выбрать интересующие нас корни и вычислить их с требуемой точностью.

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

6.1. Отделение корней нелинейного уравнения

Для функций общего вида нет универсальных способов решения задачи отделения корней. Отметим два простых приема отделения действительных корней уравнения – табличный и графический .

Первый прием состоит в вычислении таблицы значений функции в заданных точках x i , расположенных на условно небольшом расстоянии h одна от другой и использовании следующих теорем математического анализа:

1. Если функция y=f(x) непрерывна на отрезке [а,b] и f(a)f(b)<0, то внутри отрезка существует по крайней мере один корень уравнения f(x)=0.

2. Если функция y=f(x) непрерывна на отрезке [а,b], f(a)f(b) < 0 и f′(x) на интервале (a,b) сохраняет знак, то внутри отрезка существует единственный корень уравнения f(x)=0.

Выполнив вычисление значений функции в этих точках (или только определив знаки f (x i ) ), сравнивают их в соседних точках, т.е. проверяют, не

выполняется ли на отрезке [ x i − 1 , x i ] условие f (x i − 1 ) f (x i ) ≤ 0 . Таким образом, если при некотором i числа f (x i − 1 ) и f (x i ) имеют разные знаки, то это означает, что на интервале (x i − 1 , x i ) уравнение имеет по крайней мере

один действительный корень нечетной кратности (точнее - нечетное число корней). Выявить по таблице корень четной кратности очень сложно. Если заранее известно количество корней в исследуемой области, то, измельчая шаг поиска h , таким процессом можно либо их локализовать, либо довести

процесс до состояния, позволяющего утверждать наличие пар корней, не различимых с точностью h = ε . Это хорошо известный способ перебора.

По таблице можно построить график функции y = f (x ) . Корнями

уравнения (6.1) являются те значения х , при которых график функции пересекает ось абсцисс. Этот способ более нагляден и даёт неплохие приближённые значения корней. Построение графика функции даже с малой точностью обычно дает представление о расположении и характере корней уравнения (иногда позволяет выявить даже корни четной кратности). Во многих задачах техники такая точность уже достаточна.

Если построение графика функции y = f (x ) вызывает затруднение, следует преобразовать исходное уравнение к виду ϕ 1 (x ) = ϕ 2 (x ) таким образом, чтобы графики функций y = ϕ 1 (x ) и y = ϕ 2 (x ) были достаточно

просты. Абсциссы точек пересечения этих графиков и будут корнями уравнения.

Пример: Отделить корни уравнения x 2 − sin x − 1 = 0 .

Представим уравнение в виде:

x 2 − 1= sin x

и построим графики

2 −

y = sin x

Совместное

рассмотрение

графиков

позволяет сделать заключение, что данное

уравнение

ξ 1 [− 1,0] и

ξ 2 .

Допустим, что искомый корень уравнения отделен, т.е. найден отрезок , на котором имеется только один корень уравнения. Для вычисления корня с требуемой точностью ε обычно применяют какую-либо итерационную процедуру уточнения корня, строящую числовую последовательность значений x n , сходящуюся к искомому корню уравнения.

Начальное приближение x 0 выбирают на отрезке , продолжают

вычисления, пока не выполнится неравенство x n − 1 − x n < ε , и считают, что x n – есть корень уравнения, найденный с заданной точностью. Имеется

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

Последовательность x

Сходящаяся

к пределу

x * ,

скорость

сходимости порядка α , если при n → ∞

− x *

− x *

n + 1

α =1 сходимость называется линейной, при 1<α <2 – сверхлинейной, при α =2 – квадратичной. С ростом α алгоритм, как правило, усложняется и условия сходимости становятся более жесткими.

Приближённые значения корней уточняют различными итерационными методами. Рассмотрим наиболее эффективные из них.

6.2. Метод половинного деления (бисекции, дихотомии)

Пусть функция f (x ) определена и непрерывна при всех x [ a , b ] и на меняет знак, т.е. f (a ) f (b ) < 0 . Тогда согласно теореме 1 уравнение имеет на (a , b ) хотя бы один корень. Возьмем произвольную точку c (a , b ) . Будем называть в этом случае отрезок промежутком

существования, корня, а точку c - пробной точкой. Поскольку речь здесь идет лишь о вещественных функциях вещественной переменной, то

вычисление значения f (c ) приведет к какой-либо одной из следующих

взаимоисключающих ситуаций:

А) f (a ) f (c ) < 0 Б) f (c ) f (b ) < 0 В) f (c ) = 0

Если f (c ) = 0 , то корень уравнения найден. В противном случае из двух частей отрезка [ a , c ] или [ c , b ] выберем ту, на концах которой функция имеет разные знаки, так как один из корней лежит на этой половине.

Затем повторяем процесс для выбранного отрезка.

называют

дихотомии. Наиболее употребительным

метода дихотомии

c(a1 )

является

метод половинного

деления,

реализующий

самый простой способ

b(b1 )

выбора пробной точки – деление

промежутка

существования

Рис. 6.1. Метод дихотомии

За один шаг метода половинного деления промежуток существования корня сокращается ровно вдвое. Поэтому, если за k -е приближение к корню ξ уравнения примем точку x k , являющуюся серединой полученного на k -м шаге отрезка [ a k , b k ] , полагая a 0 = a , b 0 = b , то придем к неравенству

ξ−

k < b − a

которое, с одной стороны, позволяет утверждать, что последовательность (x k ) имеет предел – искомый корень ξ уравнения (6.1), с другой стороны, является априорной оценкой абсолютной погрешности равенства x k ≈ ξ , что дает возможность подсчитать число шагов (итераций) метода половинного деления, достаточное для получения корня ξ с заданной точностью ε .Для

чего нужно лишь найти наименьшее натуральное k удовлетворяющее неравенству

b 2 − k a < ε .

Проще говоря, если требуется найти корень с точностью ε , то продолжаем деление пополам до тех пор, пока длина отрезка не станет меньше 2ε . Тогда середина последнего отрезка даст значения корня с требуемой точностью.

Дихотомия проста и очень надёжна: к простому корню она сходится для любых непрерывных функций f (x ) , в том числе недифференцируемых;

при этом она устойчива к ошибкам округления. Скорость сходимости невелика: за одну итерацию точность увеличивается примерно вдвое, т.е. уточнение трёх цифр требует 10 итераций. Зато точность ответа гарантируется.

К основным недостаткам метода дихотомии можно отнести следующие.

1. Для начала расчёта необходимо найти отрезок, на котором функция изменяет знак. Если в этом отрезке несколько корней, то заранее неизвестно, к какому из них сойдётся процесс (хотя к одному из них обязательно сойдётся).

2. Метод неприменим к корням чётной кратности.

3. Для корней нечётной высокой кратности он сходится, но менее точен и менее устойчив к ошибкам округления, возникающим при вычислении значений функции.

Дихотомия применяется тогда, когда требуется высокая надёжность счёта, а скорость сходимости малосущественна.

Один из недостатков дихотомии – сходимость неизвестно к какому корню – характерен почти для всех итерационных методов. Его можно устранить удалением уже найденного корня.

Если x 1 есть простой корень уравнения и f (x ) липшиц-непрерывна, то вспомогательная функция g (x ) = f (x ) /(x − x 1 ) непрерывна, причём все нули функций f(x) и g(x) совпадают, за исключением x 1 , так как g (x 1 ) ≠ 0. Если x 1 - кратный корень уравнения, то он будет нулём g(x) кратности на единицу

меньше; остальные нули обеих функций по-прежнему будут одинаковы. Поэтому найденный корень можно удалить, т.е. перейти к функции

g(x) . Тогда отыскание остальных нулей

f (x ) сведётся к отысканию нулей

g(x) . Когда мы найдём какой-нибудь

x 2 функции g(x) ,

корень тоже можно

удалить, вводя

вспомогательную функцию

ϕ (x ) = g (x ) /(x − x 2 ).

последовательно

найти все

уравнения.

При использовании описанной процедуры необходимо учитывать

следующую тонкость. Строго говоря,

мы находим

лишь приближённое

значение корня x ≈ x .

А функция g (x )

F (x ) /(x − x 1 ) имеет нуль в точке x 1 и

полюс в близкой к ней точке

x 1 (рис. 6.2); только на некотором расстоянии от

этого корня она близка к g(x ) . Чтобы это не сказывалось при нахождении следующих корней, нужно вычислять каждый корень с высокой точностью, особенно если он кратный или вблизи него расположен другой корень уравнения.

g(x)

Кроме того, в любом методе

g(x)

окончательные

итерации

определяемого

g(x)

выполнять не по функциям типа g(x) , а

g(x)

по исходной функции f (x ) . Последние

итерации,

вычисленные

g(x) , используются при этом в качестве

Рис. 6.2. Иллюстрация возникновения

нулевого

приближения.

Особенно

погрешности в окрестности корня

важно это при отыскании многих

корней, так как чем больше корней

вспомогательной

соответствуют остальным нулям функции

f (x) .

G (x ) = f (x ) / ∏ (x − x i

Учитывая эти предосторожности и вычисляя корни с 8 – 10 верными

десятичными цифрами, зачастую можно определить десятка два корней, о

расположении которых заранее ничего не известно (в том числе корней

высокой кратности р 5).

6.3. Метод хорд

Логично предположить, что в семействе методов дихотомии можно достичь несколько лучших результатов, если отрезок делить точкой c не пополам, а пропорционально величинам ординат f (a ) и f (b ) .

Это означает, что точку c есть смысл находить, как абсциссу точки пересечения

оси Ох с прямой, проходящей через точки A (a , f (a )) и B (b , f (b )) , иначе, с хордой

дуги графика функции f (x ) . Такой способ

выбора пробной точки, называют методом хорд или методом линейной интерполяции .

Запишем уравнение прямой проходящей через точки А и В :

y− f (a)

x− a

f (b) − f (a)

b− a

и, полагая y = 0, находим:

f (a)(b− a)

c = a − f (b) − f (a)

Метод хорд подобно алгоритму метода бисекции строит последовательность вложенных отрезков [а n ,b n ], но в качестве x n берется точка пересечения хорды с осью абсцисс :

n+ 1

f (an )

− a

f (bn ) − f (an )

Длина промежутка локализации корня при этом может не стремится к нулю, поэтому обычно счет ведется до совпадения значений двух очередных приближений с точностью ε . Метод сходится линейно, но близость двух очередных приближений не всегда означает, что корень найден с требуемой точностью. Поэтому, если 0 < m ≤ | f ′ (x )| ≤ M , x [ a , b ] ,

M − m

Более надежным практическим критерием окончания итераций в методе хорд является выполнение неравенства

− x

n− 1

< ε.

2 x n− 1 − x n − x n− 2

6.4. Метод простой итерации

Заменим уравнение f (x ) = 0 эквивалентным ему уравнением

x = ϕ (x ) .

сходилась к корню данного уравнения

знакопостоянная функция. Выберем некоторое нулевое приближение х 0 и вычислим дальнейшие приближения по формулам

x k + 1 = ϕ (x k ) , k = 0,1,2,..

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

требованиям должна удовлетворять функция ϕ (x ) , чтобы последовательность (x k ) , определяемая (6.7) была сходящаяся, и как

построить функцию ϕ (x ) по функции f (x ) , чтобы эта последовательность

f (x) = 0 .

Пусть ϕ (x ) - непрерывная на некотором отрезке [ a , b ] функция. Если определяемая формулой (6.7) последовательность (x k ) сходится к

некоторому числу ξ , т.е. ξ = lim x k , то, переходя к пределу в равенстве

k →∞

(6.7), получаем ξ = ϕ (ξ ) . Это равенство означает, что ξ - корень

уравнения (6.6) и эквивалентного ему исходного уравнения.

Нахождение корня уравнения (6.6) называется задачей о неподвижной точке. Существование и единственность этого корня основывается на принципе сжимающих отображений.

Определение: Непрерывная функция ϕ (x ) называется сжимающей на отрезке [ a , b ] если:

1) ϕ (x ) , x

2) q (0,1) : |ϕ (x 2 )− ϕ (x 1 )|≤ q |x 2 − x 1 |, x 1 ,x 2 .

Второе условие для дифференцируемой на [ a , b ] функции равносильно выполнению неравенства ϕ " (x ) ≤ q < 1 на этом отрезке.

Метод простых итераций имеет простую геометрическую интерпретацию: нахождение корня уравнения f(x)=0 равносильно обнаружению неподвижной точки функции x= ϕ (x) , т.е. точки пересечения

графиков функций y= ϕ (x) и y=x . Метод простой итерации не всегда обеспечивает сходимость к корню уравнения. Достаточным условием сходимости этого метода является выполнение неравенства ϕ " (x ) ≤ q < 1 на

Проиллюстрируем (рис. 6.4) геометрически поведение сходящейся итерационной последовательности (x k ) , не отмечая значения ϕ (x k ) , а

отражая их на ось абсцисс с помощью биссектрисы координатного угла

y= x .

Рис.6.4 Сходимость метода простой итерации при ϕ " (x ) ≤ q < 1 .

Как видно из рис. 6.4, если производная ϕ ′ (x ) < 0 , то последовательные приближения колеблются около корня, если же производная ϕ ′ (x ) > 0 , то

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

Теорема: Пусть ϕ (x ) определена и дифференцируема на [ a , b ] . Тогда, если выполняются условия:

1) ϕ

(x )

x [ a, b]

x (a, b)

2) q : |ϕ (x )|≤ q < 1

3) 0

x [ a, b]

то уравнение x = ϕ (x ) имеет на [ a , b ] единственный корень ξ и к этому

корню сходится определяемая методом простых итераций

последовательность (x k ) , начинающаяся с x 0 [ a , b ] .

При этом справедливы следующие оценки погрешности:

k − 1

|ξ − x |≤ 1 − q |x

−x

ξ − x k

1 − q

x 1 − x 0

если ϕ (x ) > 0

ξ − x k

− x k − 1

если ϕ (x ) < 0

Вблизи корня итерации сходятся примерно как геометрическая прогрессия со

x k − x k − 1

знаменателем

Метод имеет линейную скорость

x k − 1 − x k − 2

сходимости. Очевидно, что чем меньше

q (0,1)

Тем быстрее сходимость.

образом, успех

от того, насколько удачно

выбрано ϕ (x ) .

Например, для извлечения квадратного корня, т.е. для решения

уравненияx 2 = a , можно положить ϕ (x ) = a / x

или ϕ

(x ) = 1/ 2

и соответственно написать такие итерационные процессы:

x k + 1 =

x k + 1

Первый процесс вообще не сходится, а второй сходится при любом х 0 > 0 и

сходится очень быстро, так как ϕ "(ξ ) = 0

Второй процесс используется при

извлечении корня в "запаянных" командах микрокалькуляторов.

Пример 1: Найти методом итерации с точностью ε =

10− 4 наименьший

корень уравнения

f (x )= x 3 + 3x 2 − 1= 0 .

Решение : Отделяем корни:

−4

−3

−2

− 1 0

f (x)

Очевидно, уравнение имеет три корня, расположенные на отрезках [ − 3; 2] , [1;0] и . Наименьший находится на отрезке [ 3; 2] .

Т.к. на этом отрезке x 2 0 , разделим уравнение на x 2 . Получим:

x +3

= 0 => x =

3

x2

x2

|ϕ

2 x

3

1 , т.е.

q=

(x )|=

3 x ≤ −2

3 x ≤ −2

Пусть x 0

=− 2.5 , тогда δ

= max[3x 0 ;2 x 0 ] = 0.5

x = ϕ (2.5) =

3

=− 2.84 [3,2]

обозначим

Проверим выполнение условия теоремы:

ϕ (x )= x 2 3

(2.5)2

|ϕ (x 0)x 0|= 0.34< (1q )

0

1

(x )

q n ε =>

2 10

=> n 6

1q

3 4n

xn

ϕ (x n )=

3

x2

2.50000

2.84000

2.84000

2.87602

2.87602

2.87910

2.87910

2.87936

2.87936

2.87938

2.87938

2.87938

Замечание: Для нахождения двух других корней исходного уравнения методом простой итерации уже нельзя пользоваться формулой: x = x 1 2 3 ,

2 x

3

=−∞,

2 x

3

max | ϕ (x )| =

1 x 0

1 x 0

1 x 0

Условие сходимости на этих отрезках не выполнено.

Метод релаксации - один из вариантов метода простой итерации, в котором

ϕ (x) = x τ f (x) ,

т.е. равносильное уравнение имеет вид:

x = x τ f (x) .

Приближения к корню вычисляются по формулам

xn + 1 = xn τ f (xn ),

Если f (x ) < 0 , то рассматривают уравнение f (x ) = 0 .

функции f (x ) . Пусть

0 α f (x ) γ <∞

Параметр τ подбирается таким, чтобы производная ϕ (x ) = 1 τ f (x ) в нужной области была малой по модулю.

1 τ γ ϕ(x ) 1 λα

и значит,

|ϕ (x )|q (τ ) = max{|1τα |,|1τγ |}

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

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

На следующем этапе выбирается метод решения задачи. Во многих конкретных случаях найти решение задачи в явном виде не представляется возможным, так как оно не выражается через элементарные функции. Такие задачи можно решить лишь приближенно. Под вычислительными (численными) методами подразумеваются приближенные процедуры, позволяющие получать решение в виде конкретных числовых значений. Вычислительные методы, как правило, реализуются на ЭВМ. Для решения одной и той же задачи могут быть использованы различные вычислительные методы, поэтому нужно уметь оценивать качество различных методов и эффективность их применения для данной задачи.

Затем для реализации выбранного вычислительного метода составляется алгоритм и программа для ЭВМ. Современному инженеру важно уметь преобразовать задачу к виду, удобному для реализации на ЭВМ и построить алгоритм решения такой задачи.

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

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

1.1. Постановка задачи

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

Значение , при котором , называется корнем (или решением ) уравнения. Относительно функции часто предполагается, что дважды непрерывно дифференцируема в окрестности корня.

Корень уравнения называется простым, если первая производная функции в точке не равна нулю, т. е. . Если же , то корень называется кратным корнем.

Геометрически корень уравнения есть точка пересечения графика функции с осью абсцисс. На рис. 1 изображен график функции , имеющей четыре корня: два простых и два кратных .


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

1.2. Основные этапы отыскания решения

В процессе приближенного отыскания корней уравнения обычно выделяют два этапа: локализация (или отделение) корня и уточнение корня .

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

Теорема. Если функция непрерывна на отрезке и принимает на его концах значения разных знаков так что , то отрезок содержит по крайней мере один корень уравнения.

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

1.3. Метод половинного деления

Метод половинного является самым простым и надежным способом решения нелинейного уравнения. Пусть из предварительного анализа известно, что корень уравнения находится на отрезке , т. е. , так, что . Пусть функция непрерывна на отрезке и принимает на концах отрезка значения разных знаков, т.е. .

Разделим отрезок пополам. Получим точку . Вычислим значение функции в этой точке: . Если , то - искомый корень, и задача решена. Если , то - число определённого знака: либо . Тогда либо на концах отрезка , либо на концах отрезка значения функции имеют разные знаки. Обозначим такой отрезок . Очевидно, что и длина отрезка в два раза меньше, чем длина отрезка . Поступим аналогично с отрезком . В результате получим либо корень , либо новый отрезок и т. д. (рис. 2).

Середина -го отрезка . Очевидно, что длина отрезка будет равна , а так как , то

Критерий окончания. Из соотношения (1) следует, что при заданной точности приближения вычисления заканчиваются, когда будет выполнено неравенство или неравенство . Таким образом, количество итераций можно определить заранее. За приближенное значение корня берется величина .

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

Следовательно, не позднее 6-го деления найдем с требуемой точностью, . Результаты вычислений представлены в таблице 1.

Таблица 1

1,0000 1,0000 1,0000 1,1250 1,1250 1,1406 1,1406
2,0000 1,5000 1,2500 1,2500 1,1875 1,1875 1,1562
1,5000 1,2500 1,1250 1,1875 1,1406 1,1562 1,1484
Зн - - - - - - -
Зн + + + + + + +
5,5938 0,7585 -0,2959 0,1812 -0,0691 0,0532 -0,0078
- 1,0000 0,5000 0,2500 0,1250 0,0625 0,0312 0,0156

1.4. Метод простой итерации

Пусть уравнение можно заменить эквивалентным ему уравнением

Выберем каким-либо образом начальное приближение . Вычислим значение функции при и найдем уточненное значение . Подставим теперь в уравнение (1) и получим новое приближение и т. д. Продолжая этот процесс неограниченно, получим последовательность приближений к корню:

Формула (3) является расчетной формулой метода простой итерации.

Если последовательность сходится при , т. е. существует

и функция непрерывна, то, переходя к пределу в (3) и учитывая (4), получим: .

Таким образом, , следовательно, - корень уравнения (2).

Сходимость метода. Сходимость метода простой итерации устанавливает следующая теорема.

Теорема. Пусть функция определена и диффе-ренцируема на отрезке , причем все ее зна-чения . Тогда, если выполняется условие при :

1) процесс итерации сходится независимо от начального значения ;

2) предельное значение является единственным корнем уравнения на отрезке .

Доказательство. Так как и , то можно записать

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

Если ввести обозначение для всего интервала поиска, то предыдущее равенство может быть переписано в виде:

Аналогично . Тогда для будет справедливо неравенство: и т. д. Продолжая эти выкладки дальше, в результате получаем , где - натуральное число. Таким образом, чтобы метод сходился, необходимо выполнение неравенства: .

Отсюда следует, что должно быть меньше единицы. В свою очередь, для всех остальных значений меньших , можно записать: . Число определим из соотношения . Тогда справедливо неравенство (вывод см. ниже): . Если поставить условие, что истинное значение корня должно отличаться от приближенного значения на величину , т.е. , то приближения надо вычислять до тех пор, пока не будет выполнено неравенство

или и тогда .

Вывод неравенства.Рассмотрим два последовательных приближения: и . Отсюда .

Используя теорему о среднем, получим:

тогда на основании условия можно записать:

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

Тогда или .

Используя предыдущую формулу, можно получить:

Перейдём к пределу в равенстве (3), в силу непрерывности функции получим , то есть - корень уравнения (2). Других корней на нет, так как если , то , тогда , где . Равенство нулю будет достигнуто, если . То есть - корень единственный.

Теорема доказана.

Приведение уравнения к виду
для обеспечения выполнения неравенства

В общем случае получить подходящую итерационную форму возможно, проведя равносильное преобразование исходного уравнения, например, умножив его на коэффициент : . Прибавив затем к обеим частям уравнения и обозначив можно потребовать выполнения достаточного условия . Отсюда определяется необходимое значение . Так как условие должно выполняться на всем отрезке , то для выбора следует использовать наибольшее значение на этом отрезке, т.е.

Это соотношение определяет диапазон значений коэффициента , изменяющий величину в пределах .

Обычно принимают .

На рис. 3-6 показаны четыре случая взаимного расположения линий и и соответствующие итерационные процессы. Рис. 3 и 4 соответствуют случаю , и итерационный процесс сходится. При этом, если (рис. 3), сходимость носит односторонний характер, а если (рис. 4), сходимость носит двусторонний, колебательный характер. Рис. 5 и 6 соответствуют случаю - итерационный процесс расходится. При этом может быть односторонняя (рис. 5) и двусторонняя (рис. 6) расходимость.

Погрешность метода. Оценка погрешности была доказана (5).

Критерий окончания. Из оценки (5) следует, что вычисления надо продолжать до выполнения неравенство . Если же , то оценка упрощается: .

Пример 1. Используем метод простой итерации для решения уравнения с точностью . Преобразуем уравнение к виду:

, т. е. .

Нетрудно убедиться, что корень уравнения находится на отрезке . Вычислив значения на концах отрезка, получим: , а , т. е. функция на концах отрезка имеет разные знаки,

поэтому внутри отрезка есть корень. Расположение корня наглядно иллюстрирует рис. 7.

Подсчитаем первую и вторую производные функции :

Так как на отрезке , то производная монотонно возрастает на этом отрезке и принимает максимальное значение на правом конце отрезка, т. е. в точке . Поэтому справедлива оценка:

Таким образом, условие выполнено, и можно воспользоваться критерием окончания вычислений. В табл. 2 приведены приближения, полученные по расчетной формуле. В качестве начального приближения выбрано значение .

Таблица 2

0,8415 0,8861 0,8712 0,8774 0,8765

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

Пример 2. Решить методом простой итерации уравнение на отрезке с точностью 0,025. Для решения исходное уравнение приводится к виду . Для выбора величины используем приведенную выше формулу . Тогда расчетная формула имеет вид . В качестве начального приближения можно выбрать верхнюю границу заданного отрезка .

0,8 0,78

Так как , то .

1.5. Метод Ньютона (метод касательных)

Метод Ньютона является наиболее эффективным методом решения нелинейных уравнений. Пусть корень , т. е. . Предполагаем, что функция непрерывна на отрезке и дважды непрерывно дифференцируема на интервале . Положим . Проведем касательную к графику функции в точке (рис. 8).

Уравнение касательной будет иметь вид: .

Первое пересечение получим, взяв абсциссу точки пересечения этой касательной с осью , т. е. положив : .

Аналогично поступим с точкой , затем с точкой и т. д., в результате получим последовательность приближений , причем

Формула (6) является расчетной формулой метода Ньютона .

Метод Ньютона можно рассматривать как частный случай метода простых итераций, для которого .

Сходимость метода . Сходимость метода Ньютона устанавливает следующая теорема.

Теорема. Пусть - простой корень уравнения и в некоторой окрестности этого корня функция дважды непрерывно дифференцируема. Тогда найдется такая малая - окрестность корня , что при произвольном выборе начального приближения из этой окрестности итерационная последовательность, определенная по формуле (6) не выходит за пределы этой окрестности и справедлива оценка:

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

Выбор начального приближения. Пусть - отрезок, содержащий корень. Если в качестве начального приближения выбрать тот из концов отрезка, для которого , то итерации (6) сходятся, причем монотонно. Рис. 8 соответствует случаю, когда в качестве начального приближения был выбран правый конец отрезка: (Здесь ).

Погрешность метода. Оценка (7) неудобна для практического использования. На практике пользуются следующие оценки погрешности:

Критерий окончания. Оценка (8) позволяет сформулировать следующий критерий окончания итераций метода Ньютона. При заданной точности вычисления нужно вести до тех пор, пока не будет выполнено неравенство

Пример . Вычислить методом Ньютона отрицательный корень уравнения с точностью до 0,0001. Проведя отделение корня, можно убедиться, что корень локализован на интервале . В этом интервале и . Так как и , то за начальное приближение можно принять .

-11 -5183 0,6662
-10,3336 307,3 4276,8 0,0718
-10,2618 3,496 4185,9 0,0008
-10,261 0,1477 - -

. Поэтому . Итак, в результате получаем следующее, и на , поэтому .

Так как , то

Решение нелинейных уравнений

Пусть требуется решить уравнение

Где
– нелинейная непрерывная функция.

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

Полное решение поставленной задачи можно разделить на 3 этапа:

    Установить количество, характер и расположение корней уравнения (1).

    Найти приближенные значения корней, т.е. указать промежутки, в которых наудится корни (отделить корни).

    Найти значение корней с требуемой точностью (уточнить корни).

Существуют различные графические и аналитические методы решения первых двух задач.

Наиболее наглядный метод отделения корней уравнения (1) состоит в определении координат точек пересечения графика функции
с осью абсцисс. Абсциссы точек пересечения графика
с осью
являются корнями уравнения (1)

Промежутки изоляции корней уравнения (1) можно получить аналитически, опираясь на теоремы о свойствах функций, непрерывных на отрезке.

Если, например, функция
непрерывна на отрезке
и
, то согласно теореме Больцано – Коши, на отрезке
существует хотя бы один корень уравнения (1)(нечетное количество корней).

Если функция
удовлетворяет условиям теоремы Больцано-Коши и монотонна на этом отрезке, то на
существует только один корень уравнения (1).Таким образом, уравнение (1) имеет на
единственный корень, если выполняются условия:


Если функция на заданном интервале непрерывно дифференцируема, то можно воспользоваться следствием из теоремы Ролля, по которому между парой корней всегда находится по крайней мере одна стационарная точка. Алгоритм решения задачи в данном случае будет следующий:


Полезным средством для отделения корней является также использование теоремы Штурма.

Решение третьей задачи осуществляется различными итерационными (численными) методами: методом дихотомии, методом простой итерации, методом Ньютона, методом хорд и т.д.

Пример Решим уравнение
методом простой итерации . Зададим
. Построим график функции.

На графике видно, что корень нашего уравнения принадлежит отрезку
, т.е.
– отрезок изоляции корня нашего уравнения. Проверим это аналитически, т.е. выполнение условий (2):


Напомним, что исходное уравнение (1) в методе простой итерации преобразуется к виду
и итерации осуществляются по формуле:

(3)

Выполнение расчетов по формуле (3) называется одной итерацией. Итерации прекращаются, когда выполняется условие
, где - абсолютная погрешность нахождения корня, или
, где -относительная погрешность.

Метод простой итерации сходится, если выполняется условие
для
. Выбором функции
в формуле (3) для итераций можно влиять на сходимость метода. В простейшем случае
со знаком плюс или минус.

На практике часто выражают
непосредственно из уравнения (1). Если не выполняется условие сходимости, преобразуют его к виду (3) и подбирают. Представим наше уравнение в виде
(выразим x из уравнения). Проверим условие сходимости метода:

для
. Обратите внимание, что условие сходимости выполняется не
, поэтому мы и берем отрезок изоляции корня
. Попутно заметим, что при представлении нашего уравнения в виде
, не выполняется условие сходимости метода:
на отрезке
. На графике видно, что
возрастает быстрее, чем функция
­­ (|tg| угла наклона касательной к
на отрезке
)

Выберем
. Организуем итерации по формуле:



Программно организуем процесс итераций с заданной точностью:

> fv:=proc(f1,x0,eps)

> k:=0:

x:=x1+1:

while abs(x1-x)> eps do

x1:=f1(x):

print(evalf(x1,8)):

print(abs(x1-x)):

:printf("Кол. итер.=%d ",k):

end :

На 19 итерации мы получили корень нашего уравнения

c абсолютной погрешностью

Решим наше уравнение методом Ньютона . Итерации в методе Ньютона осуществляются по формуле:

Метод Ньютона можно рассматривать как метод простой итерации с функцией, тогда условие сходимости метода Ньютона запишется в виде:

.

В нашем обозначении
и условие сходимости выполняется на отрезке
, что видно на графике:

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



Программно организуем процесс итераций с заданной точностью. На 4 итерации получим корень уравнения

с
Мы рассмотрели методы решения нелинейных уравнений на примере кубических уравнений, естественно, этими методами решаются различные виды нелинейных уравнений. Например, решая уравнение

методом Ньютона с
, находим корень уравнения на [-1,5;-1]:

Задание : Решить нелинейные уравнения с точностью

0.


    деления отрезка пополам (дихотомии)

    простой итерации.

    Ньютона (касательных)

    секущих – хорд.

Варианты заданий рассчитываются следующим образом: номер по списку делится на 5 (
), целая часть соответствует номеру уравнения, остаток – номеру метода.