Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Контрольная работа 2.docx
Скачиваний:
9
Добавлен:
17.05.2015
Размер:
701.24 Кб
Скачать
  1. Комбинированный метод хорд и касательных.

Тема: Решение нелинейного уравнения методом хорд и касательных.

Постановка задачи: Найти корень нелинейного уравнения методом хорд с точностью .

Краткая теория:

Дано нелинейное уравнение, где функция определена и непрерывно-дифференцируема для всех , причем функция меняет знак на концах этого отрезка, т.е. .

Найти приближенное решение данного уравнения с точностью .

Приближенное решение и погрешность приближения находятся по следующей схеме:

если на , то ,

, , ;

если на , то ,,

,,.

Приближенное решение и погрешность приближения :

, .

Блок-схемы:

Отделение корней Комбинированный метод хорд и касательных

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

Program Metod_KiH;

Const Eps=0.0001;h=0.25;

Var alfa,beta,X,dX, x1,x2,y1,y2:Real;

Function F(xf:Real):Real;

Begin

F:=xf*xf*xf-5*xf*xf+xf-3.2;

End;

Function dF(xf:Real):Real;

Begin

dF:=3*xf*xf-10*xf+1;

End;

Function ddF(xf:Real):Real;

Begin

ddF:=6*xf-10;

End;

Procedure MC(a,b:Real;Var x1,dx1:Real);

Var xn1, xn2,xp1,xp2:Real;

Begin

If F(a)*ddF(a)>0

Then

Begin

xn1:=b; xn2:=a;

End

Else

Begin

xn1:=a; xn2:=b;

End;

dx1:=1;

While Abs(dx1)>EPS do

Begin

xp1:=xn1; xp2:=xn2; xn1:=xp1-(F(xp1)/(F(xp2)-F(xp1)))*(xp2-xp1);

xn2:=xn2-F(xp2)/dF(xp2); dx1:=Abs((xn2-xn1)/2);

End;

x1:=(xn1+xn2)/2;

End;

Begin {Отделение корней}

Write('Введите промежуток : '); ReadLn(Alfa,Beta);

x1:=alfa; x2:=x1+h;

y1:=F(x1);

While x2<=beta do

Begin

y2:=F(x2);

If y1*y2<=0

Then

Begin

WriteLn('Корень определен на промежутке ( ',x1:0:2,' ; ',x2:0:2,' )');

MC(x1,x2,X,dX);

WriteLn('X = ',X:10:8,' +- ',dX:10:8);

End;

If y1*y2=0

Then

Begin

x2:=x2+h; y2:=F(x2);

End;

x1:=x2; x2:=x1+h; y1:=y2;

End;

If X=0 Then WriteLn('На этом промежутке корней НЕ СУЩЕСТВУЕТ.');

End.

Тестовый пример:

Найти корень нелинейного уравнения 0

x1=2.00 & x2=-1+i& x3=-1-i.

Протокол:

Протокол:

Введите промежуток : -5 5

Корень определен на промежутке (1.75;2,0)

X = 2.0000000 +- -0.000000002

Проверка и вывод

Проверка и вывод:

Решение задачи:

Протокол:

Введите промежуток: -5 5

Корень определен на промежутке (4.75; 5.0)

X = 4.92883397 +- 0.00000276

График уравнения:

Отделим корни уравнения графически. Для этого построим график функции и и найдем абсциссы точек пересечения графиков этих функций: .

Уточним корни методом касательных:

1). Для этого определим знаки функции и второй её производной на этом отрезке

-8,825<0 , 8,940625>0

. Тогда

Применяем формулы , , , .

Процесс продолжаем до выполнения условия |, тогда за приближенное значение корня можно взять значение

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

Тогда используя оценку погрешности

для любого .

Получим ,

Следовательно, приближенное значение корня равно

.

Запишем приближенное значение корня только верными значащими цифрами в узком смысле.

. Округлим до .

Получим , с погрешностью округления . .

Найдем число верных знаков для . .

Следовательно, .

Ответ:.

4