Добавлен: 21.10.2018

Просмотров: 2682

Скачиваний: 10

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

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

 

Однако  ни  один  из  перечисленных  подходов  нельзя  считать  достаточно 

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

 

Второе  важное  требование  к  методу  -  универсальность,  то  есть  спо-

собность  находить  решения  для  разных  видов  уравнений.  В  особенности  эти 
требования  должны  соблюдаться  в  специальных  пакетах  программ,  предна-
значенных  для  выполнения  большого  объема  расчетов,  например,  в  системах 
автоматизированного проектирования (САПР).

 

В связи с этим для решения нелинейных уравнений на ЭВМ широко при-

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

 

Когда  говорят  о  методах  решения  нелинейных  уравнений  на  ЭВМ,  то 

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

 

В  основе  итерационного  метода  лежит  итерационная,  то  есть  повто-

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

1.2. Исследование уравнений и отделение корней

 

Каждый,  кто  пытался  найти  корень  уравнения  подбором,  знает,  на-

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

 

1.2.1. Исследование уравнения и отделение корней

 

При  решении  практических  задач  обычно  приходится  проводить  пред-

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


background image

"наугад" без предварительного исследования чреват тем, что правильный ответ 
так и не будет найден. Кроме того, зачастую некоторые корни не имеют физи-
ческого смысла, и поэтому нет необходимости определять их точные значения.

 

Например, поведение резонансной электрической или механической сис-

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

 

1.2.2. Графическое исследование уравнения

 

Как  было  указано  в  п.  1.1,  примерное  положение  корней  уравнения 

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

 

В качестве примера на рис. 2 представлен график, построенный в пакете 

MathCAD для уравнения (3) - см. п. 1.1. Из рисунка видно, что уравнение имеет 
семь  действительных  корней  в интервале  примерно  от  -7 до  +2:  пять отрица-
тельных, один при нулевом значении и один положительный. В точке x ≈-3,3 
функцияf(x) имеет разрыв.

 

Приведенный график позволяет провести отделение указанных корней, то 

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

 

          
 
 
 

                         х:=-10,-9.9.. 10             

2

4

,

0

1

3

,

0

1

1

,

2

)

2

sin(

:

)

(

x

x

x

x

x

f

 


background image

 

Проведите исследование уравнения (4) самостоятельно. 1.2.3. 

Табличный способ отделения корней

 

Отделение корней также нередко выполняют с по-

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

i

).

 

Затем  в  таблице  выбирают  те  пары  рядом  распо-

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

 

На  рис.  3.  представлены  полученные  с  помощью 

пакета  MathCAD  результаты  расчета  зависимости  f(x)  в 
виде  таблицы  при  постоянном  шаге  изменения  аргу-
мента  Δх  =  x

i+1

  -  x

i

.  Расчет  выполнен  для  того  же  транс-

цендентного уравнения, что и на рис. 2.

 

 

Приведенные  данные  показывают,  что  первый  из  корней  уравнения 

f(x) = 0 лежит в пределах -6 < x < -5,5, поскольку значенияf(x) в точках  х 
-6 и x = -5,5 имеют разные знаки.

 

С  целью  облегчения  поиска  корней  процедуру  вычисления  нередко 

оформляют  в  виде  программы  на  ЭВМ,  включая  в  ее  алгоритм  не  только  вы-

 


background image

числение значений x

i

 и f(x

i

), но и автоматическое выявление тех отрезков, в ко-

торых предположительно должны находятся корни уравнения.

 

Однако  пользоваться  подобными  процедурами  автоматического  отде-

ления корней следует осторожно. Дело в том, что смена знака функции на неко-
тором отрезке x

i

 ≤х x

i+1

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

 

Во-первых,f(x)  может  изменить  свой  знак  в  точке  разрыва,  как  это  про-

исходит  в  точке  x  ≈-3,3  на  рис.  2.  Во-вторых,  даже  если  функция  f(x)  непре-
рывна, изменение ее знака на рассматриваемом отрезке может быть обусловлено 
не  одним,  а  несколькими  корнями,  например,  тремя  или  пятью.  И,  наоборот, 
совпадение знаков функции  f(x) на краях отрезка не является доказательством 
отсутствия корней. К примеру, в случае двух корней на отрезке функция дваж-
ды переходит через точки y = 0 и дважды меняет свой знак на обратный. Или 
имеется так называемый кратный корень, когда f(x) не пересекает, а только ка-
сается оси в некоторой точке.

 

Из  вышесказанного  следует,  что  табличное  отделение  корней  жела-

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

 

1.3. Методы поиска корней уравнения

 

Рассмотренные  способы  исследования  позволяют  уточнить  количество 

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

 

1.3.1. Модификация табличного способа

 

Несложную итерационную процедуру для отыскания приближенного ре-

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

 

Предположим,  в  результате  предварительного  исследования  определен 

отрезок  [a,  b],  содержащий  только  один  корень  уравнения  f(x)  =  0.  Разобьем 
этот  отрезок  на  некоторое  количество  равных  частей.  Для  этого  возьмем,  к 
примеру,  N - 1 = 99 точек, расположенных с постоянным шагом  Δх 
= ( b - a ) / 100 на [a, b] и разделим его таким образом на N = 100 частей. Вычис-
лим  в  этих  точках  значения  функции  f(x).  Из  полученных  ста  новых  отрезков 
выберем  тот,  в  котором  находится  корень.  Его  легко  определить  по  перемене 
знака f(x) при переходе от одной точки к другой.

 

Для дальнейшего уточнения положения корня на числовой оси описанные 

действия можно повторять многократно, построив, таким образом, на их основе 
итерационную процедуру. Действительно, на первом итерационном шаге отре-
зок, в котором заключен корень, уменьшается в N = 100 раз. Уменьшив на 
втором шаге отрезок еще в сто раз, получим сокращение длины уже в х N = 
10000 раз при суммарном количестве расчетных то чек N N + = 1 98. 
На третьем шаге общее сокращение достигнет  100 х 100 х 100 = 
1000000 раз, а количество расчетных точек возрастет до N+ N+ N = 297. 
Общий же коэффициент сужения на K-м шаге составит N

K

.

 

Процедуру сжатия отрезка, содержащего корень, следует остановить,  ес-


background image

ли на очередном шаге будет получено значение f(x) достаточно близкое к нулю. 
Последнее означает, что найдено приближенное решение уравнения, соответст-
вующее f(x) ≈ 0. Условие прекращения итерационной процедуры  обычно запи-
сывают в виде

 

                                                   | (x≤ δ,                                                         (5) 
где δ - некоторое малое положительное число. При выборе δ руководствуются 

требованиями к точности решения уравнения и порядком величины f(x).

 

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

 

Другие названия: метод бисекции, метод дихотомии (от греч.  Six-

oc - на две части и 

IOJUT

)

 

- сечение).

 

Метод  половинного  деления  можно  рассматривать  как  дальнейшее  усо-

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

 

Графически процедура поиска корня уравнения f(x) методом половинного 

деления показана на рис. 4.