Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

МиАПР_ПОВТ_2012 / Васильков_Компьютерные технологии вычислений

.pdf
Скачиваний:
325
Добавлен:
31.05.2015
Размер:
3.92 Mб
Скачать

полученному уравнению параболы jv=c2X^ + CjX+Со находят

приближенный корень (приближенный — потому что парабо­ ла приближенно заменяет f(x)), для чего решают уравнение CjX^ + Cjjc + Со =ft На втором этапе строят параболу по трем точ­ кам: найденному приближенному корню и двум предыдущим точкам (слева и справа от этой точки), лежащим по разные сторо­ ны оси X. Такой вариант выбора точек на практике быстрее приво^ дит к решению по сравнению с вариантом, когда для построения параболы берутся последовательно три последние точки. Такая процедура повторяется многократно до тех пор, пока величина отрезка, внутри которого нахо­ дится корень, не будет меньше е — предварительно заданной погрешности.

На рис. 9 приведен один шаг уточнения корня методом пара­ болической аппроксимахщи. На­ чальная парабола проведена че­ рез точки а, Xi, Ь (здесь jc, яв^ется серединой отрезка [а, 6]); Х2 — пересечение пара­ болы с осью. Следующая пара­ бола должна проводиться через

T04VMXi,X2,b.

Рис. 9. Иллюстрация первого этапа метода параболической аппроксимации

Пример.

Имеем уравнение хТ -1=0- Сделать две итеравд1и методом параболической аппроксимащш.

Запишем/(jc) =jc2* - 1 . Проведя процедуру отделения корней,

получим, что корень находится в промежутке [О, 1], т.е. а = О, 6 = 1.

Выбираем среднюю точку интервала д: = 1/2 и вычисляем зна­ чения функции в этих точках:

х=0,/(0) = -1; X =0,5,/(0,5)«-0,293; ;с=1,/(1) = 1. Через эти три точки и будем проводить параболу у = с-^^ +

+с,л+Со. Для того чтобы парабола проходила через заданные

71

точки, коэффициенты с, должны удовлетворять следующим урав­ нениям:

•(Яс2+0-с,+Со=-1 (условие прохождения через первую точку);

(^ Cj + ^С] + Со = -0,293 (условие прохождения через вторую точку);

• 1^ • Cj +1 • q + Со = 1 (условие прохождения через третью

точку).

Решая эту систему, находим коэффициенты: Со = - 1 ; с, =-0,828; Сз = 1,172.

Для нахождения приближенного значения корня решим урав­ нение 1,172х^+0,828дс-1=0, что на участке (0,1) дает корень X =0,636. Найдем значение функции в этой точке:

/(0,636)=0,636-2'^"*-1 = -0,011647.

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

Используя три точки: (0,5, -0,293); (0,636, -0,011647); (1, 1), построим новую параболу. Коэффициенты этой параболы будут':

Со=-1; с, =0,828; Cj =1,172.

МЕТОД ПРОСТОЙ ИТЕРАЦИИ

Рассматриваемый метод реализует третий подход из пред­ ставленных в концепции. Предварительно исходное уравнение f(x) =0 преобразуют к видуф(х)=х, что является частным случа­ ем более общей структуры g(jc)=/(jc). Затем выбирают началь­ ное значение XQ И подставляют его в левую часть уравнения, но (р(хо) ^ XQ, поскольку XQ ВЗЯТО ПРОИЗВОЛЬНО и не является корнем уравнения. Полученное (P(XQ)=XI рассматривают как очередное приближение к корню. Его снова подставляют в левую часть уравнения (p(xi)n получают следующее значение Хг (^2 = ф(д:1)) и т.д., в общем случае jc,-^.j =ф(дс,). Получающаяся таким образом

72

У=Ф)

Рис. 10. Иллюстрация метода итераций для различных ситуаций: а —0<ф'(х)<1;б 1<ф'(х)<0

последовательностьXQ,Х,, JC2,Х^Х^ ... при определенных услови­ ях может сходиться к корню х* (рис. 10).

Таким условием является | ф'(х)| < 1 на [а, 6], причем чем ближе модуль к нулю, тем выше окажется скорость сходи­ мости к решению. В про­ тивном случае последова­ тельность расходится от искомого решения ("метод не сходится").

На

рис. 11 приведен

 

 

один

из возможных слу­

 

 

чаев, когда итерационный

 

 

процесс не сходится. Вид­

 

 

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

X Хп X-t Х-у

jf-i

 

 

XQ, Хр XJ. ••• удаляется от

Рис. и. Иллюстрация несходяще­

корня X*. Это всегда будет

гося итерационного процесса

иметь место в том случае,

если тангенс угла наклона ф(х) в окрестности корня по модулю больше единицы.

Существуют различные способы преобразования уравнения /(х) =0 к видуф(х) =х; одни могут привести к выполнению уело-

73

ВИЯ сходимости всегда, другие — в отдельных случаях. Самый простой способ следующий:

f(x)+x=0+x, f(x)+x=^(x) => (f(x)=x,

но он не всегда приводит к успеху. Существует другой способ, в соответствии с которым <р(х) =х -f(x) I к, причем Аг следует вы­ бирать так, чтобы I yfc| > QI2, где Q = max|/'(jc)| и знак к совпадал

бы со знаком f'(x) на [а, Ь].

^* *^

Погрешность решения можно оценить из соотношения

|х'-ac,|<r^|jc,-At,-J,

где 9 = тщсф'(х).

l-q

[a,b\

Вследствие этого для окончания вычислений в методе итера­ ций применяют соотношение - ^ | л,- - Atf+il ^ е, где е — заданная погрешность решения.

Часто используют упрощенное условие окончания поиска {Xj -х,.,.]! < £ , не вычисляя максимальное значение производной, но в этом случае погрешность решения может не соответствовать заданной (т.е. быть больше или меньше).

Пример.

Имеем уравнение 2х + lg(2x + 3) = 1. Необходимо уточнить ко­ рень с погрешностью е < 0,001.

Запишем f{x) =2х + lg(2x +3) - 1 . Проведя процедуру отделе­ ния корней, получим, что корень находится в промежутке [0,0,5], т.е. а=0,Ь =0,5. Приведем уравнение к виду, удобному для ите­ раций ф(х)=д:. Функцию ф(х) будем искать из соотношения ф(дс) = дс - f{x)lk, считая для повышения сходимости, что| А^ t QI2, где Q = max | f{x% число А: имеет тот же знак, что и f'{x) в проме­ жутке [О, 0,5].

Находим

/W-2.Mf; e=-/W=2.|fff,2,2895; /ВД>0

при0<;х^0,5.

Примем к =2, тогдаф(дс) =jc -/(х)/2=0,5 -0,5lg(2x +3).

74

За начальное приближение возьмемXQ=0, все остальные при­ ближения будем определять из равенства Xj^y =0,5-0,5 lg(2x,- +3), результаты сведем в табл. 5.

 

 

Таблица 5

/

X,

4>(х,)=х,^1

0

0

0,2614

1

0,2614

0,2266

2

0,2266

0,2309

3

0,2309

0,2303

4

0,2303

0,2304

5

0,2304

 

Ответ: X «0,230.

ОПРЕДЕЛЕНИЕ ЧИСЛА КОРНЕЙ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ

Для уравнения Р„(х) = а(рс" +а^х"~^ +а2х"~\..-нг„=0 общее

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

Существует правило Декарта, в соответствии с которым можно оценить отдельно количество положительных и отрица­ тельных действительных корней: количество действительных по­ ложительных корней либо равно числу перемен знака в последо­ вательности коэффициентов уравнения, либо на четное число меньше; количество действительных отрицательных корней либо равно числу перемен знака в последовательности коэффициентов уравнения Р{-х) =0, либо на четное число меньше (равные нулю коэффициенты в обоих случаях не учитываются). Отсюда следу­ ет, что правило Декарта не точно определяет количество корней, а приближенно. Существуют и более строгие методы (например, правило Штурма), которые точно определяют количество дейст­ вительных корней на любом промежутке числовой оси (а не толь­ ко положительных и отрицательных).

75

Пр$1мер.

Имеем уравнение Р^х)=х* -17х* +12д:'' +7х^ +1=0.

Это уравнение имеет шесть корней (л =6)- Знаки коэффицие тов образуют следующую последовательность: +, -, +, +, -, Знак меняется 4 раза, следовательно, положительных корней б дет либо 4, либо 2, либо 0. Для отрицательных: последовател ность знаков в Р^гх) будет: +, -, -, +, +, +, т.е. отрицательных KO ней будет либо 2, либо О, так как только два раза меняется знак последовательности.

ПРЕДЕЛЬНЫЕ ОЦЕНКИ И ОБЛАСТЬ СУЩЕСТВОВАНИЯ КОРНЕЙ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ

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

МЕТОД ЛАГРАНЖА

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

где т — номер первого по порядку отрицательного коэффицие та в полиноме левой части уравнения Р„{х), В — наибольшая и абсолютных величин отрицательных коэффициентов Р„(х); пр этом предполагается, что aQ>0.

Пример.

Определить предельное значение положительных корне уравнения -8х^ +8х^ +32дс -1=0.

76

в этом уравнении ао< О, поэтому сначала умножим обе части уравнения на -1. Получим &C^-8JC^-32X+1=0. Здесь Оо>0,

а, =0,02 =-8<0, Оз =-32, а^ =1. Следовательно, /и =2,5 =32. Применяя формулу, получим R=l + фШ = 3.

МЕТОД НЬЮТОНА

Этот метод не дает конструктивного пути для отыскания ис­ комого значения, т.е. не дает более эффективных алгоритмов по­ мимо простого перебора или проверки наугад взятых точек, и формулируется следующим образом: если при каком-то значении

X = р Р„{х) > О и все производные F(x) > О, Р*(дс) > О, ..., Р^"\х) > О,

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

Пример.

Рассмотрим применение метода для того же уравнения, что и в предыдущем случае.

1\х)=&с*-&с^-32х+1; F(X)=32X^-16K-32; РЧх) =96x^-16; Р"(д:)=192х; Р^\х)=192.

Из третьей производной видно, что нужно искать предельное значение при д: >0. Из второй производной получим: 96х^ -16>0,

т.е. х^ >16/96, или X >4/9,8. Далее из неравенства/*'(х)>О можно

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

МЕТОД КОЛЬЦА

Метод позволяет находить область существования всех кор­ ней алгебраического уравнения, в том числе и комплексных. Дей­ ствительные корни находятся в интервалах (-R,r) и (г. Л) (соот-

77

ветственно отрицательные и положительные). Величины г и R вычисляются по формулам

Ы' ^ + B/\af

rfle^ = max{|ai|, [агК •••. |aJ};5=max{|aol, |ail, •••, |a„-il}-

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

Пример.

Определить границы корней уравнения5г^ -2ftc +3 =0. Здесь

\a(li=5,A=20,\a„\ = 3,B=20.

Используя формулы, получим

Отсюда следует, что положительные корни находятся в ин­ тервале (0,013, 5), а отрицательные — в интервале (-5, -0,013). Следует отметить, что указание границ корней не означает, что такие корни обязательно есть. В данном случае мы указали облас­ ти для положительных и отрицательных корней, а если в уравне­ нии окажутся комплексные корни, то действительный будет толь­ ко один, так как уравнение третьей степени.

МЕТОД ПРЕДЕЛЬНЫХ ЗНА ЧЕНИЙ

Существует метод, позволяющий несколько точнее находить область существования корней. Для этого вычисляют верхние границы положительных корней /?,-:

для полинома Р^{х) —Лр для полинома Р„(-х)R2, для полинома х"Р„{х) — /?з>

для полинома х"Р„(-11 х) — ^4- Если действительные корни существуют, то они лежат в ин­

тервалах (-i?2, -1//?4)H(1//?3» ''^I)-

78

УТОЧНЕНИЕ КОРНЕЙ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ

Алгебраические уравнения можно, конечно, решать любым подходящим методом из ранее приведенных, но конкретная и заранее известная структура левой части уравнения позволяет строить более эффективные алгоритмы. Идея уточнения корней алгебраического уравнения методом понижения порядка базиру­ ется на возможности выделения в полиноме Р^{х) множителя, со­ держащего корень. Для действительного корня таким множите­ лем является дг -X], где Х] — корень, а для пары комплексных корней a±J(o — множитель х^ +Ьх+ с, где b = -2а, с=а^+(о^. После такого выделения можно снизить порядок исходного поли­ нома на единицу (или на два) путем деления /*„_, =Р„/(х -х,)

(для действительного корня) или Р„_2 = Р„/(х^ +Ьх+с) (для ком­ плексной пары корней), далее для нового полинома опять выде­ лить следующий корень Х2 (или новую пару корней) и т.д. В рас­ сматриваемом алгоритме можно выделить три этапа:

1)нахождение приближенного значения корня;

2)проверка, является ли найденное значение корнем;

3)получение нового полинома степени на единицу меньше, чем предыдущая.

УТОЧНЕНИЕ ДЕЙСТВИТЕЛЬНОГО КОРНЯ

При выделении действительного корня процесс его получе­ ния носит итерационный характер и реализуется по формуле

аJBL.

 

оох? + fl,xf '+.. .+fl„_,x,.

ao«f + flixf Ч.. .+a„_,

Здесь через х< и x,-^.i обозначены соответственно /-е и (/+1)-е при­ ближения выделяемого корня. Если начальное приближение дос­ таточно близко к искомому корню, то итерационный процесс схо­ дится очень быстро. К сожалению, сходимость метода зависит от

79

условия сходимости

l+Xi PVcAРФ) < 1,

которое практически невозможно оценить заранее (xj — искомый корень). Кроме того, метод может не сходиться к решению и вследствие отсутствия действительного корня.

По существу рассматриваемый метод является методом ите­ раций для одного из способов приведения к необходимому виду

x=(f>ix)=x+ ^'-^

Значение приближения х, на каждой итерации нужно прове­ рять, не является ли оно корнем. Для этого достаточно найти оста­ ток г от деления Р„{х) на х -х,-. Если остаток равен нулю (или очень близок к нулю), то текущее значение х,- является корнем, ес­ ли нет, то итерационный процесс следует повторять. Воспользо­ вавшись теоремой Безу, можно находить остаток, не производя собственно операцию деления. В соответствии с этой теоремой остаток равен значению полинома прих =х,, т.е. г =Р„(х,). Такой подход существенно сокращает вычисления.

После итерационного выделения одного корня (что контроли­ руется по остатку г) следует понизить порядок полинома, т.е. най­ ти новый полином Р„_], содержащий остальные корни:

Коэффициенты Ь^ нового полинома P„_i находятся по схеме Горнера (не проводя операцию деления), в соответствии с кото­ рой

b^=b^^-¥a{,

... 6^=6*_|ДС1+а*; •••

b„_i=b„_2Xi+a„_i,

где «t — коэффициенты полинома P„(x).

80