Примеры выполнения заданий
Уточнение корня комбинированным методом.
Вычислить
с точностью до
действительный корень уравнения
.
Рассмотрим
.
На отрезке
содержится корень заданного уравнения,
так как на концах этого отрезка функция
имеет разные знаки:
,
.
Производная
при всех
,
поэтому уравнение
имеет единственный действительный
корень.
Таким
образом, на отрезке
находится единственный действительный
корень уравнения.
Вторая
производная
при
,
поэтому через
обозначаем конец отрезка
,
т.е.
,
.
Дальнейшие вычисления оформляем в
виде таблицы:
|
при |
|
|||||||
№ п/п |
|
|
|
|
|
|
|
|
|
0 |
-1 |
-2 |
-1 |
4 |
-6 |
-10 |
15 |
0,4 |
-0,4 |
1 |
-1,4 |
-1,6 |
--0,2 |
1,056 |
-0,896 |
-0,932 |
10,68 |
0,1082 |
-0,0839 |
2 |
-1,5082 |
-1,5161 |
-0,0079 |
-0,0447 |
-0,0331 |
-0,0778 |
9,8956 |
0,00455 |
-0,0033 |
3 |
-1,51273 |
-1,51275 |
-0,00001 |
|
|
|
|
|
|
Ответ:
.
Пример взят из пособия С.В. Михайленко «Прикладная математика»[4].
Пример вычислений по методу хорд в пакете mathcad.
Функция hord уточняет корень уравнения на интервале [a,b] с точностью до .
Входные параметры: значения концов отрезка изоляции корня, точность решения.
Выходные параметры функции: два последних приближения для корня, количество итераций для выполнения условия точности.
В программном блоке используются: f(x) – функция исходного уравнения ; f2(x) – функция второй производной для f(x). Обе функции должны быть заданы до программного блока как функции пользователя.
Неподвижная точка метода хорд определяется по следующему правилу: неподвижен тот конец, для которого знак функции f(x) совпадает со знаком ее второй производной f”(x) и ее значение заносится в fix.
Пример реализации модифицированного метода
касательных в пакете MATLAB для решения алгебраического уравнения.
function res=p_modif_kasat(f,A,B,eps);
% polyval(f,A) – вычисление значения полинома f в точке A
% polyder(f) – вычисление первой производной для полинома
% выбор точки проведения касательной
if polyval(f,A)*polyval(polyder(polyder(f)),A)>0
x=A
else
x=B;
end;
if x==A
prev_x=B
else
prev_x=A;
end;
fix=x;
% цикл уточнения корня
while abs(prev_x-x)>eps
prev_x=x;
x=x-polyval(f,x)/polyval(polyder(f),fix);
end
res=x;
Вызов функции p_modif_kasat в командном режиме. Полином необходимо задать набором соответствующих коэффициентов
>> res=p_modif_kasat([1,5,-3],0,2,0.001)
res =
0.5416
