Рефераты - Афоризмы - Словари
Русские, белорусские и английские сочинения
Русские и белорусские изложения

Метод хорд

Работа из раздела: «Математика»

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИИ

«УРАЛЬСКИЙ ГОСУДАРСТВЕННЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ»

Отчет по лабораторной работе №2

«Метод хорд»

вариант 18

Выполнила: студентка гр. ЭМА-13

Савастьянова А.Мя

Проверил: Миронова Л.И.

Екатеринбург

2014

Метод хорд

Алгоритм

Вводим левый, правый концы - a, b, точность - e.

F1=f(a)

F2=f(b)

хорда алгоритм корень уравнение

Счетчик приближений (итераций) N=0.

Какой конец хорды неподвижен?

Если F1*F3 > 0, то неподвижен левый - а.

, p =2.

Иначе F1*F3 < 0, то неподвижен правый - b.

, p= 1.

F4=f()

Если p = 1, то ,

а если p = 2, то .

Печатаем N, , F4, F5.

N = N+1.

.

Если, то печатаем - корень. Конец задачи.

Иначе , переходим на ш.7.

Конец задачи.

Контрольный пример к алгоритму метода хорд:

Найти корень уравнения находящийся в промежутке [1;1,5] с точностью 0,002.

Решение.

Найдем вторую производную заданной функции.

Определим, какой конец интервала неподвижен. Для этого определим знак f(а) и f''(с). Найдем значения «а» и «с».

По условию задачи, а=1 и b=1,5.

Тогда . Подставим значения «а» и «b» в эту формулу.

Получим с=0,25.

Теперь получим f(1)=1-0,2-0,2-1,2=-0,6<0и f(0,25)=6*0,25-0,4>0.

Тогда знак произведения f(1)*f(0,25)<0. Значит, неподвижен конец хорды b, и для расчетов надо воспользоваться формулой 4.

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

N

0

1

-0.6

0.15

1

1.15

-0.173

0.040

2

1.190

-0.036

0.008

3

1.198

0.072

0.001

4

1.199

Уточненное значение корня заданного уравнения на интервале [1;1,5] с точностью 0,002 х=1,199.

Код программы контрольного примера:

programlab3;

usescrt;

vara, b, c, x0, x1, F1, F2, F3, F4, F5, e:real;

N,p:integer;

begin

writeln('f:=x^3-0.2*x^2-0.2*x-1.2');

writeln('Точность 0.002');

writeln('Введите левый конец отрезка:');

readln(a);

writeln('Введите правый конец отрезка:');

readln(b);

writeln('N - счётчик количества итераций');

e:=0.002;

F1:=a*a*a-0.2*a*a-0.2*a-1.2;

F2:=b*b*b-0.2*b*b-0.2*b-1.2;

c:=(a+b)/2;

F3:=6*c-0.4;

N:=0;

ifF1*F3>0 then

begin

x0:=b;

p:=2;

end

else

begin

x0:=a;

p:=1;

end;

repeat

F4:=x0*x0*x0-0.2*x0*x0-0.2*x0-1.2;

ifp=1 then F5:=(b-x0)*F4/(F2-F4);

ifp=2 then F5:=(x0-b)*F4/(F4-F2);

writeln('N=',N,', x1=',x0,', x0=',x1,', F4=',F4,', F5=',F5);

N:=N+1;

x0:=x0-F5;

x1:=x0+F5

untilabs(x0-x1)<e;

end.

Вариант №18

Найти корень уравнения с точностью 0,002.

Код программы для данного уравнения:

uses crt;

var a, b, c, x0, x1, F1, F2, F3, F4, F5, e:real;

N,p:integer;

begin

writeln('f:=x^4-18*x^2+6');

writeln('Точность 0.002');

writeln('Введите левый конец отрезка:');

readln(a);

writeln('Введите правый конец отрезка:');

readln(b);

writeln('N - счётчик количества итераций');

e:=0.002;

F1:=a*a*a*a-18*a*a+6;

F2:=b*b*b*b-18*b*b+6;

c:=(a+b)/2;

F3:=12*c*c-36;

N:=0;

if F1*F3>0 then

begin

x0:=b;

p:=2;

end

else

begin

x0:=a;

p:=1;

end;

repeat

F4:=x0*x0*x0*x0-18*x0*x0+6;

if p=1 then F5:=(b-x0)*F4/(F2-F4);

if p=2 then F5:=(x0-b)*F4/(F4-F2);

writeln('N=',N,', x1=',x0,', x0=',x1,', F4=',F4,', F5=',F5);

N:=N+1;

x0:=x0-F5;

x1:=x0+F5

until abs(x0-x1)<e;

readln;

end.

ref.by 2006—2025
contextus@mail.ru