Росжелдор
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
«Ростовский государственный университет путей сообщения»
(ФГБОУ ВПО РГУПС)
Кафедра «Высшая математика»
Лабораторные работы
Выполнил
студент группы
МЭ-2-642 : Ярмизин Е. И.
Проверил: Хопёрский А.Н.
Ростов – на – Дону
2012
Лабораторная работа № 1
'' Метод бисекции.''
Приближенное решение уравнений f(x) = 0 итерационным методом делением пополам (метод бисекций).
1.Пусть задана непрерывная функция f(x) = sin(x) – 0.2x и требуется найти корень уравнения f(x) = 0.Предположим, что найден отрезок [ a, b ] такой, что f(a) · f(b)<0. Тогда, согласно теореме Больцано - Коши внутри, внутри отрезка [ a, b ] существует точка С, в которой значение функции f(0)=0, c є [ a, b ]
Итерационный метод бисекций состоит в построении последовательности вложенных отрезков, на концах которых функция принимает значение равных знаков. Каждый последующий отрезок получают делением его пополам предыдущего.
Процесс построения последовательности отрезков позволяет найти корень уравнения f(x) = sin(x) – 0.2x с любой заданной точностью.
Опишем один шаг итераций. Пусть на (n-1) – м шаге найден отрезок f(an-1) · f(bn-1) <0. Делим его пополам точкой Ḝ=(an-1 + bn-1) /2 и вычисляем f(Ḝ). Если f(Ḝ)=0, то Ḝ=(an-1 + bn-1) /2 корень уравнения. Если f(Ḝ)≠0, то из двух половин отрезка выберем ту, на концах которой функция имеет противоположные знаки, так как один из корней лежит на этой половине. Таким образом
an = an-1, bn = Ḝ, если f(Ḝ)* f(an-1 )<0 или
an = Ḝ, bn= bn-1, если f(Ḝ)* f(an-1 )>0
Если требуется найти корень с точностью Е, то деление пополам продолжаем до тех пор, пока длине отрезка не станет меньше 2Е (|an - bn|<2E). Тогда координата середины отрезка и есть значение корня с требуемой точностью Е
Метод бисекций простой и надежный метод поиска простого корня уравнения
f(x) = 0. Он сходится для любых непрерывных функций в том числе для недифференцируемых. Скорость сходимости велика.
Лабораторная работа №1
Функция: f(x) = sin(x) – 0,2x
Программа для вычисления, путем "метода бисекций"
CLS
PRINT "METOD BISEKCII"
INPUT "VVEDITE POGRECHNIST"; E: K = 0
2 INPUT "VVEDITE INTERVAL BPJKZCII A,B"; A1, B1: A = A1: B = B1
DEF FNF (X) = SIN(X) - .2 * X
REM "PROVERKA INTERVALA"
IF FNF(A) * FNF(B) < 0 THEN 1
PRINT "NEVERNO ZADAN INTERVAL": GOTO 2
1 X0 = .5 * (A + B)
Y = FNF(X0): K = K + 1
IF Y=0 YHEN 3
IF Y * FNF(A) > 0 THEN 4
B = X0: GOTO 5
4 A = X0
5 IF ABS(Y) > E THEN 1
3 PRINT "OTREZOK(A,B)", "("; A1; ","; B1; ")"
PRINT "X="; X0
PRINT "F(X)="; FNF(X0), "E="; E
PRINT "CHISLO INTERACII"; K
END
вывод программы:
Отрезок(A,B)=(0.1, 3.14) Отрезок(A,B)=(0.1, 3.14) Отрезок(A,B)=(0.1, 3.14)
E(погрешность) = 0,01 E(погрешность) = 0,0001 E(погрешность) = 0,00001
X = 2.59375 X = 2.595791 X = 2.595745
F(x) = 2.096564 F(x) =-5.462357 F(x) = -5.840342
число итераций: 7 число итераций: 14 число итераций: 16
График : «Нахождение интервала методом изоляции корня»