Метод хорд
Writeln ('Введите правый конец отрезка:'); Код программы контрольного примера: Если F1*F3 > 0, то неподвижен левый — а. Writeln ('N=', N,', x1=', x0,', x0=', x1,', F4=', F4,', F5=', F5); Writeln ('N=', N,', x1=', x0,', x0=', x1,', F4=', F4,', F5=', F5); Writeln ('Введите левый конец отрезка:'); Writeln ('Введите левый конец отрезка:'); Отчет по лабораторной работе № 2. Выполнила: студентка гр… Читать ещё >
Метод хорд (реферат, курсовая, диплом, контрольная)
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИИ
«УРАЛЬСКИЙ ГОСУДАРСТВЕННЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ»
Отчет по лабораторной работе № 2
«Метод хорд»
вариант 18
Выполнила: студентка гр. ЭМА-13
Савастьянова А. Мя Проверил: Миронова Л.И.
Екатеринбург
Метод хорд Алгоритм Вводим левый, правый концы — 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.6 | 0.15 | |||
1.15 | — 0.173 | 0.040 | ||
1.190 | — 0.036 | 0.008 | ||
1.198 | 0.072 | 0.001 | ||
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:=x3−0.2*x2−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)
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:=x4−18*x2+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)
readln;
end.