Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kozlov (1).doc
Скачиваний:
746
Добавлен:
18.03.2016
Размер:
15.9 Mб
Скачать

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

Пусть корень уравнения f(x) = 0 локализован на отрезке [a;b]. Требуется найти значение корня с точностью ε.

Графическая интерпретация метода. Отрезок [a;b] делим пополам точкой с=(a+b)/2. Определяем, на каком из отрезков [a;с] или [с;b] локализован корень. Если на отрезке [a;с], то b становится равным c. Если на отрезке [с;b], то а становится равным c. И в том, и в другом случае длина отрезка [a;b] становится в два раза меньше. Эти действия продолжаем до тех пор, пока длина отрезка [a;b] не станет меньше или равна ε.

Алгоритм метода

  1. Ввод исходных данных: a, b, ε.

  2. Расчет середины текущего отрезка c=(a+b)/2.

  3. Проверка условия f(a)*f(c)<0. Если условие выполняется, то b=с, иначе a=с.

  4. Проверка условия (b-a)<= ε. Если условие выполняется, то переход к пункту 5, иначе переход к пункту 2.

  5. Расчет закончен. Корень х*=(a+b)/2.

Реализация метода в MS Excel

Постановка задачи. Дано ecos2(x)-sin(0,8·x)+0,5=0, корень локализован на отрезке [0,5;1,5] с точностью ε=0,0001.

1 Формирование заголовка таблицы.

Адрес клетки

Содержание

Тип

А1

a

Текст

В1

b

Текст

C1

b-a

Текст

D1

f(a)

Текст

E1

f(b)

Текст

F1

c

Текст

G1

f(c)

Текст

H1

0,5

Число

Заполнение первой строки в соответствии с алгоритмом.

Адрес клетки

Содержание

Тип

А2

0,5

Число

В2

1,5

Число

C2

= В2 -А2

Формула

Вид листа MS Excel:

2 Расчет f(a), f(b), c и f(c).

Адрес клетки

Содержание

Тип

D2

=EXP(COS(A2)^2)-3*SIN(0,8*A2)+0,5

Формула

E2

=EXP(COS(B2)^2)-3*SIN(0,8*B2)+0,5

Формула

F2

=(A2+B2)*0,5

Формула

G2

=EXP((COS(F2)^2))-3*SIN(0,8*F2)+0,5

Формула

Вид листа MS Excel:

3 В соответствии с алгоритмом вводим формулу для определения значения a, в зависимости от знака произведенияf(a)·f(c). Вызываем функцию ЕСЛИ, используя Мастер функций. Щелкаем указателем мыши по значку f(x), открывается окно Мастера функций. На первом шаге работы Мастера функций выбираем категорию Логические, к которой относится функция ЕСЛИ и саму функцию ЕСЛИ.

Вид листа MS Excel:

Щелкаем по кнопке ОКдиалогового окна.

4 Открывается окно второго шага Мастера функций.Заполняем строки в диалоговом окне, так как показано. Щелкаем по кнопкеОКдиалогового окна.

Вид листа MS Excel:

После щелчка по кнопке ОКдиалогового окнаМастера функцийв клетке А3 будет формула: =ЕСЛИ(D2*G2<0;A2;F2).

Вид листа MS Excel:

5 В соответствии с алгоритмом вводим формулу для определения значенияb, в зависимости от знака произведенияf(a)·f(c). Вызываем функцию ЕСЛИ. Вызываем Мастер функций и заполняем строки в диалоговом окне Аргументы функции второго шага Мастера функций.

После щелчка по кнопкеОКдиалогового окнаМастера функцийв клетке В3 будет формула: =ЕСЛИ(D2*G2<0; F2;В2).

Вид листа MS Excel:

6 Выделим диапазон ячеек С2:G2. Установим указатель мыши на маркер заполнения.

Вид листа MS Excel после выполнения этих действий:

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

Вид листа MS Excel:

Первая итерация выполнена. Длина исходного отрезка столбец С уменьшилась в два раза.

7 Для выполнения второй и последующих итераций выделим диапазон клеток А3:G3. Установим указатель мыши на маркер заполнения.

Вид листа MS Excel:

Нажимаем левую кнопку мыши и переместим мышь до двадцатой строки.

Вид листа MS Excel:

Проанализировав значения в таблице, увидим, что требуемая точностьε=0,0001достигнута в пятнадцатой строке, так как именно начиная с этой строки, соблюдается условиеb-a<= 2ε.

8 Выполняем пункт 5 алгоритма, рассчитаем искомый корень х* и значение f(x*).

Адрес клетки

Содержание

Тип

В22

х*

Текст

В23

=(A15+B15)*0,5

Формула

C22

f(x*)

Текст

С23

=EXP(COS(C22)^2)-3*SIN(0,8*C22)+0,5

Формула

Вид листа MS Excel:

Решение получено за 13 итераций. Итак, окончательно имеем х*=0,8980, f(x*)=0,0000 и n=13.

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