Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Березиков..М.Ук2.doc
Скачиваний:
2
Добавлен:
04.08.2019
Размер:
509.95 Кб
Скачать

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

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

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

Пример отделения корней

Отделить корни уравнения 2x3-10x2+3x+4=0 .

Задаем границы диапазона: начало диапазона nd=0 и конец диапазона kd=12. Принимаем количество отрезков равным 10. Обозначим длину от-резка через h и значение функции на конце отрезка y.

Текст программы

program protd;

var nd, kd, h, x, y: real; i: integer;

begin nd:=0; kd:=12;

h:=(kd-nd)/10;

writeln(‘ x f(x)’);

for i:=1 to 10 do

begin x:=nd+h*i;

y:=(( 2*x-10)*x+3)*x+4;

writeln(x:4:1,y:10:2)

end

end .

Результат

x f(x)

0.0 4.00

1.2 -3.34

2.4 -18.75

3.6 -21.49

4.8 9.18

6.0 94.00

7.2 253.70

8.4 509.01

9.6 880.67

10.8 1389.42

12.0 2056.00

Из результатов расчета видно, что функция f(x) меняет знак на отрез-ках [0.0, 1.2] и [3.6, 4.8]. Следовательно, в диапазоне [0.0, 12] обнаружены

два корня уравнения, которые расположены в отрезках [0.0, 1.2] и [3.6, 4.8].

Уточнение корней методом половинного деления

Метод половинного деления - простой и надежный способ уточнения корня уравнения (2.1) с заданной точностью . Он сходится для любых непрерывных функций f(x), в том числе и недифференцируемых. Усло-вием успешного применения метода является противоположность зна-ков функции f(x) на концах отрезка [a, b] :

f(a).f(b)<0 . (2.2)

Если на отрезке [a, b] находится несколько корней, то процесс сходится к одному из них. Метод неприменим для отыскания кратных корней четного порядка.

В качестве очередного приближения корня x принимается середина отрезка x=(a+b)/2. Исходный отрезок делится таким образом на две по-ловины [a, x] и [x, b] . Проверяется, может ли найденная величина x считаться приближенным значением корня то есть, удовлетворяет ли x неравенству | f(x)| . (2.3)

Если это условие не выполняется, то из двух отрезков [a, x] и [x, b]

оставляется тот, где знаки функции на концах отрезка противоположны. Границы оставшегося отрезка переименовываются на a и b (рис. 2.1) и расчет повторяется. На каждом шаге длина отрезка, содержащего ко-рень, уменьшается вдвое. Таким образом, критерием конца расчета

f(x)

*

a x=(a+b)/2 f(b)

x

f(a) * f(x) b

*

f(x) *

a x=(a+b)/2 f(b)

| x

* f(a) * f(x) b

Рис. 2.1 Предыдущее и последующее приближения

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

f(x), a, b, 

y1=f(a)

y2=y1

x=a

k=0

нет

|y2|> и |b-a|>

да

k=k+1 x, k

x=(a+b)/2

y2=f(x)

нет y1.y2>0 да

b=x a=x

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

наряду с условием (2.2) может служить длина отрезка, то есть условие:

| b - a |  . (2.4)

На рис. 2.2 представлена схема описанного алгоритма.

Пример решения уравнения 2x3-10x2+3x+4=0 на отрезке [3.6, 4.8] с точностью 1 методом половинного деления .

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]