Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Уравнения с одним неизвестным



Вводные замечания

 

Выражение для нелинейного уравнения имеет следующий вид:

,                                        (2.1)

где  - некоторая непрерывная функция. Нелинейные уравнения делятся на алгебраические и трансцендентные.

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

.                 (2.2)

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

Аналитически можно решить только простейшие нелинейные уравнения. Эти методы позволяют записать корни в виде некоторого конечного соотношения (формулы). Решение получается сразу путем однократного использования формул или после некоторых преобразований. Пример – решение квадратного уравнения по формулам (1.8).

Сложные нелинейные уравнения решают численно. Для этого используют итерационные методы  (методы последовательных приближений) [19]. Итерационные численные методы состоят из 2-х этапов: 1) отыскание приближенного (грубого) значения корня или содержащего его отрезка; 2) уточнение приближенного значения до некоторой заданной степени точности.

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

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

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

Метод позволяет решать трансцендентные, а также алгебраические уравнения [8]. Это один из простейших численных методов. На первом этапе необходимо найти отрезок , на котором расположено искомый корень  х = х*, т.е. . При этом используют условие, что . Если уравнение имеет несколько корней, то последовательно задается несколько отрезков и на каждом определяется свой корень.

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

Пусть для определенности < 0, > 0 (рис. 2.1). Находим начальное приближение корня . Так как < 0, то  и рассматриваем  только . На следующем приближении . Теперь отбрасываем отрезок , так как > 0 и > 0, т.е.  x0 < x * < x1. Аналогично находим другие приближения:  т.д.

Рис. 2.1. Графическая иллюстрация метода половинного деления

 

Итерационный процесс продолжается до тех пор, пока значение функции

после n -ой итерации не станет меньшим по модулю некоторого малого заданного числа e , т.е. .

 

2.1.3. Блок-схема метода половинного деления и числовой пример

Сужение отрезка производится путем замены границ а или b на текущее значение корня х. При этом значение вычисляется лишь один раз, так как

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

Метод половинного деления отрезка пополам довольно медленный, т.е.

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

 

         

Рис. 2.2. Блок-схема метода половинного деления

 

Рассмотрим пример вычисления методом половинного деления одного корня уравнения  с заданной точностью e = 0, 005.

 Для определения отрезка , на котором имеется хотя бы один корень,                                                                              

выполним табулирование функции . Результаты табулирования представлены в табл. 2.1.

Можно принять что, а = 0, 9 и b = 1, 2, так как f (0, 9) × f (1, 2) < 0. Для

 

Таблица 2.1

Результаты табулирования функции f ( x )

х 0 0, 3 0, 6 0, 9 1, 2
f(x) 1, 0 1, 074 1, 130 0, 816 -0, 062

 

уменьшения отрезка и, следовательно, числа итераций уточним значение а. Из табл. 2.1 видно, что корень х* лежит ближе к b, чем к  а ( f (b) ближе к 0).

Примем  значение а = 1, 1; f (1, 1) = 0, 29. Окончательно принимаем: а = 1, 1; b = 1, 2;  f (1, 1) × f (1, 2) < 0. Следовательно, искомый корень находится на заданном отрезке, т.е. .

Последовательно имеем (n – номер итерации):

1) f (x) = f [(a+b)/2] = f (1, 15) = 0, 119;                         n = 1;

2) f [(1, 15+1, 2)/2] = f (1, 175) = 0, 030;                         n = 2;

3) f [(1, 175+1, 2)/2] = f (1, 1875) = -0, 016;                    n = 3;

4) f [(1, 175+1, 1875)/2] = f (1, 18125) = 0, 007;              n = 4;

5) f [(1, 1875+1, 18125)/2] = f (1, 184375)=- 0, 004;        n = 5;

½ f (x< 0, 005; (e = 0, 005).

Корень х = х* = 1, 184375.

 

Метод хорд

Пусть найден отрезок , на котором функция f (x) меняет знак. Для определенности примем f (a) > 0, f (b) < 0 (рис. 2.3). В данном методе процесс итераций состоит в том, что в качестве приближений к корню уравнения f (x) =0 принимаются значения х0, х1, х2, … точек пересечения хорды с осью абсцисс [7].

Для вывода расчетных формул запишем уравнение хорды АВ (уравнение прямой линии, проходящей через две заданные точки):

.

Для точки пересечения АВ с осью абсцисс (х = х0; у = 0) получим:

Рис. 2.3. Графическая иллюстрация к методу хорд

 

;          ;

                                         .                               (2.3)

На первом этапе вычисления определяем х0 по формуле (2.3). Затем определяем f (х0). Так как  f (a) × f (x0) < 0, то искомый корень находится на  (см. рис. 2.3). Отрезок отбрасываем. Следующая итерация состоит в определении нового приближенного значения х1 как точки пересечения хорды АВ0 с осью абсцисс и т.д. Для определения х1 в формулу (2.3) подставим b = х0 и       f (b) = f (х0). Итерационный процесс продолжается до тех пор, пока значение      f (хn) не станет по модулю меньше заданного числа e, т.е. .

Блок-схема метода хорд аналогична методу половинного деления. Разница в том, что вместо вычисления приближения корня по формуле x = (a+b)/2 нужно использовать формулу (2.3). Необходимо также ввести операторы вычисления f (x) на границах новых отрезков.

Алгоритм метода хорд часто дает более быструю сходимость

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

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

 с заданной точностью e = 0, 005. Этот пример уже был решен методом половинного деления в п. 2.1.3. Возьмем такой же исходный отрезок , т.е. a = 1, 1; b = 1, 2; f (1, 1) = 0, 289; f (1, 2) = -0, 062. Вычислим  по формуле (2.3):

.

Значение  f (1, 182) = 0, 004. Следовательно, условие   ½ f(x)½ < e  выполняется. Корень уравнения х* = х0 = 1, 182. Решение найдено за одну итерацию (n =1). Методом половинного деления решение найдено за 5 итераций.

Если погрешность e  взять меньше (e = 0, 001), то потребуется вторая итерация:  

a = x0 = 1, 182  (так как f (1, 182) × f (1, 2) < 0);

; f (1, 18309) = 0, 0004.

Более точный корень уравнения х* = х1 = 1, 18309.

Метод хорд в этом случае (и чаще всего) оказался эффективнее метода половинного деления.

 

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

 

Исходное уравнение  преобразуют к виду [8]:

.                                                  (2.4)

Задают начальное приближение корня . Подставляя это значение в правую часть (2.4) получаем новое приближение:   

.

Далее подставляем каждый раз новое значение корня в (2.4) получаем последовательность значений:

.                                   (2.5)

Итерационный процесс прекращается, если результаты двух последовательных итераций близки:

                                       (2.6)

Здесь  - заданная точность. Обычно  = 10-6…10-2.

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

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

Рис. 2.4. Блок-схема метода простых итераций

 

В качестве примера решим уравнение . Заданная

точность . Выполняем преобразование исходного уравнения  к виду (2.4): .

Пусть начальное приближение  =1, 2.  Его можно определить, например, графически. Последовательность итераций имеет следующий вид:

 

Искомый корень .

 

Системы уравнений

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

Решаем два нелинейных уравнения с двумя неизвестными [13]:

                                                    (2.7)

Действительные корни необходимо найти с заданной точностью . Систему (2.7) преобразуем к виду:

                                                  (2.8)

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

                               (2.9)

Если итерационный процесс (2.9) сходится, то при некотором числе

итераций n, выполняются условия:

,                                        (2.10)

При выполнении условий (2.10) вычисления прекращают. Искомые корни .

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

Для примера решим систему уравнений

                               (2.11)

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

Начальные приближения определяем графически. Для этого из первого и второго уравнения выражаем :

,                                     (2.12)

                                      (2.13)     

Задаем с равным шагом и выполняем вычисления по формулам (2.12) и (2.13). Результаты заносим в табл. 2.2. По таблице строим два графика (рис. 2.5). Точка пересечения графиков дает приближенные начальные значения  Все эти расчеты и построения выполняем с использованием приложения Excel.

Таблица 2.2

Результаты расчетов по формулам (2.12) и (2.13)

x у по формуле (3.9) у по формуле (3.10)
0, 9 -2, 09 0, 87
1, 3 -1, 63 1, 28
1, 7 -1, 01 1, 55
2, 1 -0, 32 1, 75
2, 5 0, 40 1, 92
2, 9 1, 14 2, 07
3, 3 1, 90 2, 20

Рис. 2.5. Графики, построенные по формулам (2.12) и (2.13)

 

Теперь из исходной системы (2.11) получим формулы вида (2.8):

                              (2.14)

Запишем формулы (2.14) в виде, удобном для построения итерационного процесса:

                   (2.15)

Здесь n – номер итерации. Вычисления по формулам (2.15) приведены в табл. 2.3. Корни найдены на шестой итерации ( ), так как выполняются условия (2.10).

Отметим, что вместо рассмотренного метода последовательных приближений (2.9), иногда удобнее пользоваться методом Зейделя:

Метод Зейделя для системы из 3-х уравнений:

 

Таблица 2.3

Значения последовательных приближений

n
0 3, 5 2, 2
1 3, 479 2, 259
2 3, 481 2, 260
3 3, 484 2, 261
4 3, 486 2, 261
5 3, 487 2, 262
6 3, 487 2, 262

 

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

 

Обладает гораздо более быстрой сходимостью, чем метод простой итерации. Рассмотрим применение метода для решения системы 2-х нелинейных уравнений [18]:

                                                     (2.16)

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

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

              .                          (2.17)

Проведем разложение левых частей уравнений (2.16) с учетом (2.17) в ряд Тейлора, ограничиваясь лишь линейными членами относительно приращений (или производными первого порядка):

                             (2.18)

Поскольку в соответствии с (2.16) левые части этих выражений равны 0, то приравниваем 0 и левые части. Получим следующую систему линейных уравнений относительно приращений   

                                    (2.19)

Здесь значения  и их производные вычисляют при х = а; у = b.

Неизвестные   вычисляют по правилу Крамера:

.                                      (2.20)

Здесь  – определители системы (2.19):

,         .       (2.21)

Для существования единственного решения системы (2.19) на каждой итерации должно выполняться условие J ≠ 0.

После определения  и по формуле (2.20)  и  определяют по формуле (2.17). Напомним, что здесь а и b - значения неизвестных на предыдущей итерации, а x и y – значения неизвестных на рассматриваемой итерации.

Таким образом, итерационный процесс решения системы (2.16) методом

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

, ,                                     (2.22)

где  - заданная точность.

Метод Ньютона применим для решения системы из n уравнений (n = 2, 3, 4, …). Следует учитывать, что сходимость итерационного процесса ухудшается с увеличением n. Для обеспечения хорошей сходимости важен выбор первого приближения.

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

 

Блок схема алгоритма метода Ньютона приведена на рис. 2.6.  В блоке 2 осуществляется ввод исходных данных: а, b - начальные приближения неизвестных; - погрешность вычислений; - максимально допустимое число итераций. В блоке 6 «да» будет в том случае, если выполнятся оба условия. В блоке 5 а, b - значения неизвестных на предыдущей итерации; x, y - значения на рассматриваемой итерации.

В качестве примера решим систему нелинейных уравнений:

                                               (2.23)

Определим положительные корни с погрешностью . Начальные приближения найдем графической прикидкой. Для этого из первого уравнения системы (2.23) выразим х:

                                       (2.24)

Из второго уравнения системы (2.23) также выразим х:

.                                           (2.25)

Задаем последовательно  и определяем значения х по формулам (2.24) и (2.25). По полученным точкам строим соответственно

Рис. 2.6. Блок схема алгоритма метода Ньютона

 

кривые f1 и f2  (рис. 2.7).

Координаты точки пересечения кривых f 1 и f 2 являются начальными приближениями, т.е. а = 0, 9; b = 0, 5 (рис. 2.7). Отметим, что при построении графиков в приложении Excel переменная у в рассматриваемом примере автоматически отложится на горизонтальной оси, так как у задавали, а х вычисляли.

Получим формулы для  по исходной системе уравнений (2.23):

Рис. 2.7. Графическое определение начальных приближений а и b

 

                      (2.26)

= (2.27)

(2.28)

Итерация i = 1: a = 0, 9; b = 0, 5; вычисляем  J, D х, D у  по (2.26), (2.27), (2.28) при x = a, y = b;

J = -4, 23; D х = 0, 289; D у = - 0, 2664;

Итерация i = 2: в (2.26), (2.27), (2.28) подставляем a = x = 0, 8317;            b = y = 0, 5630;

J = -3, 9998; D х = 0, 0225; D у = -0, 0025;

х = 0, 8317 - 0, 00562 = 0, 8261;

у = 0, 5630 + 0, 00063 = 0, 5636;

.

Итерация i = 3:  a = x = 0, 8261;   b = y = 0, 5636;

J = -3, 9537; D х = 0, 0001; D у = -0, 0001;

х = 0, 8261 - 0, 00003 = 0, 8260;

у = 0, 5636 + 0, 00002 = 0, 5636;

Вычисления окончены. Корни системы (2.23) с заданной точностью найдены.

 


Поделиться:



Последнее изменение этой страницы: 2019-10-04; Просмотров: 185; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.1 с.)
Главная | Случайная страница | Обратная связь