Нелинейные уравнения примеры. Решение нелинейных уравнений

Решение одного нелинейного уравнения

Введение

Данная лабораторная работа включает в себя четыре метода решения одного нелинейного уравнения.

Использующиеся методы решения одного нелинейного уравнения:

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

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

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

Метод секущих.

Также данная лабораторная работа включает в себя: описание метода, применение метода к конкретной задаче (анализ), код программы решения вышеперечисленных методов на языке программирования MicrosoftVisualC++ 6.0.

Описание метода:

Пусть задана функция f (x) действительного переменного. Требуется найти корни уравнения f (x) =0 (1) или нули функции f (x).

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

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

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

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

Теперь отдельно по каждому методу:

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

Более распространенным методом нахождения корней нелинейного уравнения является метод деления пополам. Предположим, что на интервале расположен лишь один корень x уравнения (1). Тогда f (a) и f (b) имеют различные знаки. Пусть для определения f (a) >0, f (b) <0. Положим x0= (a + b) /2 и вычислим f (x0). Если f (x0) <0, то искомый корень находится на интервале , если же f (x0) >0, то x принадлежит . Далее из двух интервалов и выбираем тот на границах, которого функция f (x) имеет различные знаки, находим точку x1 - середину выбранного интервала, вычисляем f (x1) и повторяем указанный процесс. В результате получаем последовательность интервалов, содержащих искомый корень x, причем длина каждого последующего интервала вдвое меньше, чем предыдущего. Процесс заканчивается, когда длина вновь полученного интервала станет меньше приближенной точности (

>0), и в качестве корня x, приближенного принимается середина этого интервала.

Пусть начальное приближение x0 известно. Заменим f (x) отрезком ряда Тейлора

f (x) ≈ H1 (x) = f (x0) + (x - x0) f " (x0) и за следующее приближение x1 возьмем корень уравнения H1 (x) = 0, т.е. x1=x0 - f (x0) / f " (x0).

Вообще, если итерация xk известна, то следующее приближение xk+1 в методе Ньютона определяется по правилу xk+1=xk-f (xk) /f" (xk), k=0, 1, … (2)

Метод Ньютона называют также методом касательных, так как новое приближение xk +1 является абсциссой точки пересечения касательной, проведенной в точке (xk, f (xk)) к графику функции f (x) с осью Ox.

Особенность метода:

во-первых, метод имеет квадратичную сходимость, т.е. в отличие от линейных задач погрешность на следующей итерации пропорциональна квадрату погрешности на предыдущей итерации: xk+1-x=O ((xk-x) ²);

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

3. Метод секущих

Этот метод получается из метода Ньютона заменой f" (xk) разделенной разностью f (xk) - f (xk-1) /xk-xk-1, вычисленной по известным значениям xk и xk-1. В результате получаем итерационный метод

, k=1, 2, … (3), который в отличие от ранее рассмотренных методов является двухшаговым, т.е. новое приближение xk+1 определяется двумя предыдущими итерациями xk и xk-1. В методе необходимо задавать два начальных приближения x0 и x1.

Геометрическая интерпретация метода секущих состоит в следующем. Через точки (xk-1, f (xk-1)), (xk, f (xk)) проводится прямая, абсцисса точки пересечения этой прямой с осью Ox и является новым приближением xk+1. Иначе говоря, на отрезке функция f (x) интерполируется многочленом первой степени и за очередное приближение xk+1 принимается корень этого многочлена.

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

Этот метод заключается в замене уравнения (1) эквивалентным ему уравнением вида

(4) после этого строится итерационный процесс (5). При некотором заданном значении для приведения выражения (1) к требуемому виду (4) можно воспользоваться простейшим приёмом , .

Если в выражении (4) положить

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

Иначе можно получить уравнение (4) следующим способом: левую и правую часть уравнения (1) умножить на произвольную константу  и прибавить к левой и правой части х, т.е. получаем уравнение вида:

(6), где .

На заданном отрезке выберем точку х 0 - нулевое приближение - и найдем: х 1 = f (x 0), потом найдем: х 2 = f (x 1), и т.д. Таким образом, процесс нахождения корня уравнения сводится к последовательному вычислению чисел: х n = f (x n-1) n = 1,2,3… Если на отрезке выполнено условие: |f " (x) |<=q<1 то процесс итераций сходится, т.е.

. Процесс итераций продолжается до тех пор, пока |x n - x n-1 |<=, где  - заданная абсолютная погрешность корня х. При этом будет выполняться: .

Применение метода к конкретной задаче (анализ).

Дано уравнение вида x² - ln (1+x) - 3 = 0 при x

. Задача состоит в том, чтобы решить это нелинейное уравнение 4 известными способами: метод половинного деления, метод касательных, метод секущих и метод простой итерации.

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

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

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

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

#include

#include

#include

#define e 0.000001

double func (double x)

res=fopen ("bisekciy. txt","w");

while (fabs (a-b) >e)

if ((func (c) *func (a)) <0) b=c;

printf ("Otvet:%f\n",a);

printf ("Takge smotri otvet v file bisekciy. txt\n");

fprintf (res,"Результат решения уравнения методом половинного деления! \n");

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

#include

#include

#include

#define e 0.000001

double func (double x)

return ((((x*x) - (log (1+x))) - 3));

double dif (double x)

return ((2*x) - (1/ (1+x)));

res=fopen ("kasatelnih. txt","w");

while (fabs (a-b) >=e)

a=a-func (a) /dif (a);

b=b-func (b) /dif (b);

printf ("Funkciya prinimaet znachenie na intervale: [%d,%d] \n",x1,x2);

printf ("Otvet:%f\n",a);

printf ("Kol-vo iteraciy:%d \n",k);

printf ("Takge smotri otvet v file kasatelnih. txt\n");

fprintf (res,"Результат решения уравнения методом Ньютона! \n");

fprintf (res,"Корень уравнения x =%f\nКоличество итераций =%d",a,k);

3. Метод секущих

#include

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

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

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

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

Полное решение поставленной задачи можно разделить на 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 (
), целая часть соответствует номеру уравнения, остаток – номеру метода.

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

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

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

Существование на найденном отрезке , по крайней мере, одного корня уравнения (1) следует из условия Больцано:

f(a)*f(b)<0 (2)

При этом подразумевается, что функция f(x) непрерывна на данном отрезке. Однако данное условие не отвечает на вопрос о количестве корней уравнения на заданном отрезке . Если же требование непрерывности функции дополнить ещё требованием её монотонности, а это следует из знакопостоянства первой производной, то можно утверждать о существовании единственного корня на заданном отрезке.

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

где вещественные коэффициенты.

  • а) Уравнение степени n имеет n корней, среди которых могут быть как вещественные, так и комплексные. Комплексные корни образуют комплексно-сопряженные пары и, следовательно, уравнение имеет четное число таких корней. При нечетном значении n имеется, по меньшей мере, один вещественный корень.
  • б) Число положительных вещественных корней меньше или равно числа переменных знаков в последовательности коэффициентов. Замена х на -х в уравнении (3) позволяет таким же способом оценить число отрицательных корней. итерация Ньютон дихотомия нелинейный

На втором этапе решения уравнения (1), используя полученное начальное приближение, строится итерационный процесс, позволяющий уточнять значение корня с некоторой, наперед заданной точностью. Итерационный процесс состоит в последовательном уточнении начального приближения. Каждый такой шаг называется итерацией. В результате процесса итерации находится последовательность приближенных значений корней уравнения. Если эта последовательность с ростом n приближается к истинному значению корня x , то итерационный процесс сходится. Говорят, что итерационный процесс сходится, по меньшей мере, с порядком m, если выполнено условие:

где С>0 некоторая константа. Если m=1 , то говорят о сходимости первого порядка; m=2 - о квадратичной, m=3 - о кубической сходимостях.

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

или малости невязки:

Эта работа посвящена изучению алгоритма решения нелинейных уравнений с помощью метода Ньютона.

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

  1. b) Комбинирование с другими методами.

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

2) Метод независимого решения одного из уравнений.

Идея метода . Если в системе содержится уравнение, в котором находятся взаимно обратные выражения, то вводится новая переменная и относительно её решается уравнение. Затем система распадается на несколько более простых систем.

Решить систему уравнений

Рассмотрим первое уравнение системы:

Сделав замену , где t ≠ 0, получаем

Откуда t 1 = 4, t 2 = 1/4.

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

Корнями уравнения 4у 2 – 15у – 4 = 0 являются у 1 = 4, у 2 = — 1/4 .

Корнями уравнения 4х 2 + 15х – 4 = 0 являются х 1 = — 4, х 2 = 1/4 .

3)Сведение системы к объединению более простых систем.

  1. a ) Разложение на множители способом вынесения общего множителя.

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

  1. b ) Разложение на множители через решение однородного уравнения .

Идея метода. Если одно из уравнений представляет собой однородное уравнение (, то решив его относительно одной из переменных, раскладываем на множители, например: a(x-x 1)(x-x 2) и, учитывая равенство выражения нулю, переходим к решению более простых систем.

Решим первую систему

  1. c ) Использование однородности.

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

4) Метод алгебраического сложения.

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

5) Метод умножения уравнений.

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

Решим второе уравнение системы.

Пусть = t, тогда 4t 3 + t 2 -12t -12 = 0. Применяя следствие из теоремы о корнях многочлена, имеем t 1 = 2.

Р(2) = 4∙2 3 + 2 2 — 12∙2 – 12 = 32 + 4 — 24 — 12 = 0. Понизим степень многочлена, используя метод неопределенных коэффициентов.

4t 3 + t 2 -12t -12 = (t – 2) (at 2 + bt + c).

4t 3 +t 2 -12t -12 = at 3 + bt 2 + ct — 2at 2 -2bt — 2c.

4t 3 + t 2 — 12t -12 = at 3 + (b – 2a) t 2 + (c -2b) t — 2c.

Получаем уравнение 4t 2 + 9t + 6 = 0, которое не имеет корней, так как D = 9 2 — 4∙4∙6 = -15<0.

Возвращаясь к переменной у, имеем = 2, откуда у = 4.

Ответ. (1;4).

6) Метод деления уравнений.

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

7) Метод введения новых переменных.

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

Возвращаясь к старым переменным, имеем:

Решаем первую систему.

8) Применение теоремы Виета .

Идея метода. Если система составлена так, одно из уравнений представлено в виде суммы, а второе — в виде произведения некоторых чисел, которые являются корнями некоторого квадратного уравнения, то применяя теорему Виета составляем квадратное уравнение и решаем его.

Ответ. (1;4), (4;1).

Для решения симметричных систем применяется подстановка: х + у = а; ху = в. При решении симметричных систем используются следующие преобразования:

х 2 + у 2 = (х + у) 2 – 2ху = а 2 – 2в; х 3 + у 3 = (х + у)(х 2 – ху + у 2) = а(а 2 -3в);

х 2 у + ху 2 = ху (х + у) = ав; (х +1)∙(у +1) = ху +х +у+1 =а + в +1;

Ответ. (1;1), (1;2), (2;1).

10) «Граничные задачи».

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

Особенность этой системы в том, что число переменных в ней больше числа уравнений. Для нелинейных систем такая особенность часто является признаком «граничной задачи». Исходя из вида уравнений, попытаемся найти множество значений функции, которая встречается и в первом, и во втором уравнении системы. Так как х 2 + 4 ≥ 4, то из первого уравнения следует, что

Ответ (0;4;4), (0;-4;-4).

11) Графический метод.

Идея метода . Строят графики функций в одной системе координат и находят координаты точек их пересечения.

1) Переписав первое уравнение систем в виде у = х 2 , приходим к выводу: графиком уравнения является парабола.

2) Переписав второе уравнение систем в виде у =2/х 2 , приходим к выводу: графиком уравнения является гипербола.

3) Парабола и гипербола пересекаются в точке А. Точка пересечения только одна, поскольку правая ветвь параболы служит графиком возрастающей функции, а правая ветвь гиперболы — убывающей. Судя по построенной геометрической модели точка А имеет координаты (1;2). Проверка показывает, что пара (1;2) является решением обоих уравнений системы.

Цель работы

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

Методические указания

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

Нелинейные уравнения можно разделить на 2 класса – алгебраические и трансцендентные. Алгебраическими уравнениями называют уравнения, содержащие только алгебраические функции (целые – в частности многочлен, рациональные, иррациональные). Уравнения, содержащие другие функции (тригонометрические, показательные, логарифмические и др.) называются трансцендентными. Нелинейные уравнения могут решаться точными или приближенными методами. Точные методы позволяют записать корни в виде некоторого конечного соотношения (формулы). К сожалению, большинство трансцендентных уравнений, а также произвольные алгебраические уравнения степени выше четвертой не имеют аналитических решений. Кроме того, коэффициенты уравнения могут быть известны лишь приблизительно и, следовательно, сама задача о точном определении корней теряет смысл. Поэтому для решения используются итерационные методы последовательного приближения. Вначале следует вначале отделить корни (т.е. найти их приближенное значение или отрезок их содержащий), а затем методом последовательных приближений их уточнить. Отделить корни можно – установив знаки функции f (x ) и ее производной в граничных точках области ее существования, оценив приближенные значения из физического смысла задачи, или из решения аналогичной задачи при других исходных данных.

Широко распространен графический способ определения приближенных значений действительных корней – строят график функции f (x ) и отмечают точки пересечения его с осью ОХ. Построение графиков часто удается упростить, заменив уравнение f (x )= 0 равносильным ему уравнением , где функции f 1 (x ) и f 2 (x ) - более простые, чем функция f (x ). В этом случае следует искать точку пересечения этих графиков.

Пример 1. Графически отделить корни уравнения x lg x = 1. Перепишем его в виде равенства lg x= 1/xи найдем абсциссы точек пересечения логарифмической кривой y = lg x и гиперболы y = 1/x (рис. 5). Видно, что единственный корень уравнения .

Реализация классических приближенных методов решения в пакете MathCAD.

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

Отрезок, на концах которого функция принимает значения разного знака, делится пополам и, если корень лежит правее центральной точки, то к центру подтягивается левый край, а если – левее, то правый край. Новый суженный отрезок снова делится пополам и процедура повторяется. Этот метод прост и надежен, всегда сходится (хотя часто медленно – расплата за простоту!). Программная реализация его в пакете MathCAD рассмотрена в лабораторной работе №7 данного пособия.

Метод хорд

В качестве последовательных приближений к корню уравнения принимаются значения х 1 , х 2 , ..., х n точек пересечения хорды АВ с осью абсцисс (рис. 6).

Уравнение хорды AB имеет вид: . Для точки пересечения ее с осью абсцисс (х=х 1 , y= 0) имеем:

Пусть для определенности кривая у = f (x ) будет выпукла вниз и, следовательно, расположена ниже своей хорды АВ , т.е. на отрезке f ²(x )>0. Возможны два случая: f (а )>0 (рис. 6, а ) и f (а )<0 (рис. 6, б ).

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

x 0 = b ; . (4.1)

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

x 0 = а ; . (4.2)

Таким образом, неподвижным следует выбирать тот конец, для которого знак функции f (х ) и ее второй производной f ²(х ) совпадают, а последовательные приближения x n лежат по ту сторону корня x, где эти знаки противоположны. Итерационный процесс продолжается до тех пор, пока модуль разности двух последовательных приближений не станет меньше, чем заданная точность решения.

Пример 2. Найти положительный корень уравнения f (x ) º x 3 –0,2x 2 –0,2х –1,2 = 0 с точностью e= 0,01. (Точный корень уравнения x = 1,2).

Для организации итерационных вычислений в MathCAD документе используется функция until(a, z ), котораявозвращает значение величины z , пока выражение a не становится отрицательным.

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

Отличие этого метода от предыдущего состоит в том, что вместо хорды на каждом шаге проводится касательная к кривой y=f (x )при x=х i и ищется точка пересечения ее с осью абсцисс (рис. 7):

При этом не обязательно задавать отрезок [а, b], содержащий корень уравнения), а достаточно лишь задать начальное приближение корня x=х 0 , которое должно находиться на том же конце интервала [а, b], где знаки функции и ее второй производной совпадают.

Уравнение касательной, проведенной к кривой y = f (x ) через точку В 0 с координатами х 0 и f (х 0), имеет вид:

Отсюда найдем следующее приближение корня х 1 как абсциссу точки пересечения касательной с осью Ох (y = 0):

Аналогично могут быть найдены и последующие приближения как точки пересечения с осью абсцисс касательных, проведенных в точках В 1 , В 2 и так далее. Формула для (i + 1) приближения имеет вид:

Условием окончания итерационного процесса является неравенство ïf (x i

Пример 3 . Реализация итерационного метода Ньютона.

Метод простой итерации (последовательных итераций )

Заменим исходное нелинейное уравнение f (х )=0 равносильным уравнением вида x =j(x ). Если известно начальное приближение корня х = х 0 , то новое приближение может быть получено по формуле: х 1 =j(х 0). Далее, подставляя каждый раз новое значение корня в исходное уравнение получаем последовательность значений:

Геометрическая интерпретация метода состоит в том, что каждый действительный корень уравнения является абсциссой точки пересечения М кривой у= j(х ) с прямой у=х (рис. 8). Отправляясь от произвольной т. А 0 [x 0 ,j(x 0)] начального приближения, строим ломаную А 0 В 1 А 1 В 2 А 2 .., которая имеет форму «лестницы» (рис. 8, а ) если производная j’(x) положительна и форму «спирали» (рис. 8, б ) в противоположном случае.

в)
Рис. 8. Метод простой итерации: а, б – сходящаяся итерация, в – расходящаяся итерация.

Отметим, что следует заранее проверить пологость кривой j(х ), поскольку если она не является достаточно пологой ( >1), то процесс итерации может быть расходящимся (рис. 8, в ).

Пример 4. Решитьуравнение x 3 – x – 1 = 0 методом простой итерации с точностью e = 10 -3 . Реализация этой задачи представлена следующим MathCAD документом.

Реализация приближенных методов решения встроенными функциями MathCAD

Использование функции root

Для уравнений вида f (x ) = 0 решение находится с помощью функции: root(f (х ),х,a,b ) , которая возвращает значение х , принадлежащее отрезку [a, b ] , при котором выражение или функция f (х ) обращается в 0. Оба аргумента этой функции x и f(x) должны быть скалярами, а аргументы a, b – являютсянеобязательными и, если используются, то должны быть вещественными числами, причем a < b. Функция позволяет находить не только вещественные, но и комплексные корни уравнения (при выборе начального приближения в комплексной форме).

Если уравнение не имеет корней, они расположены слишком далеко от начального приближения, начальное приближение было вещественным, а корни – комплексные, функция f (х ) имеет разрывы (локальные экстремумы между начальными приближениями корня) то появится сообщение (отсутствует сходимость). Причину ошибки можно выяснить, исследуя график f (x ). Он поможет выяснить наличие корней уравнения f (x ) = 0 и, если они есть, то определить приблизительно их значения. Чем точнее выбрано начальное приближение корня, тем быстрее будет сходиться функция root .

Для выражения f (x ) с известным корнем а нахождение дополнительных корней f (x ) эквивалентно поиску корней уравнения h (x )=f (x )/(x‑a ). Проще искать корень выражения h (x ), чем пробовать искать другой корень уравнения f (x )=0, выбирая различные начальные приближения. Подобный прием полезен для нахождения корней, расположенных близко друг к другу, он реализован в приведенном ниже документе.

Пример 5 . Решить алгебраическое уравнения с помощью функции root:

Примечание. Если увеличить значение системной переменной TOL (tolerance), то функция root будет сходиться быстрее, но ответ будет менее точен, а при уменьшении TOL более медленная сходимость обеспечивает более высокую точность, соответственно. Последнее необходимо, если требуется различить два близко расположенных корня, или же, если функция f (x ) имеет малый наклон около искомого корня, поскольку итерационный процесс в этом случае может сходиться к результату, отстоящему от корня достаточно далеко. В последнем случае альтернативой повышения точности является замена уравнения f (x ) = 0на g (x ) = 0, где .

Использование функции polyroots

Если функция f(x) является полиномом степени n , то для решения уравнения f(x)=0 лучше использовать функцию polyroots (a), нежели root , поскольку она не требует начального приближения и возвращает сразу все корни, как вещественные, так и комплексные. Аргументом ее является вектор a, составленный из коэффициентов исходного полинома. Его можно сформировать вручную или с помощью команды Символы Þ Коэффициенты полинома (переменная полинома x выделяется курсором). Пример применения функции polyroots:

Использование функции solve и блока решений

Блок решений с ключевыми словами (Given – Find или Given – Minerr ) или функция solve позволяют найти решение произвольного нелинейного уравнения, если предварительно задано начальное приближение.

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

Символьное решение уравнений в пакете MathCAD

Во многих случаях, MathCAD позволяет найти аналитическое решение уравнения. Для того чтобы найти решение уравнения в аналитическом виде необходимо записать выражение и выделить в нем переменную. После этого выбираем из пункта меню Symbolic подпункт Solve for Variable.

Другими вариантами нахождения решения в символьной форме являются (приводятся примеры решения того же уравнения) – использование функции solve из палитры математических операций Символы (Symbolic ).

использование блока решения (с ключевыми словами Given - Find )