А1. Алгоритм вычислений для заданного количества последовательных
приближений:
Для реализации этого алгоритма достаточно знать аналитическое описание функций f(x)
f'(x). Если описаниеf '(x) не дается в условии задачи, то его необходимо вывести
математически. Начальное приближение определяется подобно тому, как это было
сделано в методе хорд.
f (a)
(b a )
Шаг 1. Определение начального приближения х0: c a
f (b) f (a )
если f(c) x f(a)< 0, то x0=а иначе x0=b; i = 0.
f ( xi )
Шаг 2. Вычисляется хi по формуле xi 1 xi
.
f ( xi )
Шаг 3. Если i+1 = n то вычисленное решение х = хi. КОНЕЦ.
В противном случае i= i+1, затем возвращаемся к шагу 2.
А2. Алгоритм вычислений для заданной точности е:
В формуле оценки погрешности фигурируют значениям,M2 и m1 Если эти значения не
указаны в условии задачи, то их необходимо вычислить, проведя необходимые
математические выкладки. Кроме того, необходимы аналитические описания f(х) и f'(x).
f (a)
(b a )
Шаг 1. Определение начального приближения х0: c a
f (b) f (a )
если f(c) x f(a)< 0, то x0=а иначе x0=b; i = 0.
f ( xi )
Шаг 2. Вычисляется хi по формуле xi 1 xi
.
f ( xi )
M2
2
xi 1 xi
e то вычисленное решение х =xi КОНЕЦ.
Шаг 3. Если
2m1
В противном случае i= i+1, затем возвращаемся к шагу 2.
Пример 1: Пусть дана функция f(х) =х3 – 2x2 + х - 3. Требуется написать программу
вычисления решения уравнения f(х) =0 на отрезке [2; 15] для 10 последовательных
приближений методом Ньютона.
Предварительная математическая подготовка – определим f `(x) =Зх2 - 4х +1.
program cnlO;
var a, b, x, c : real;
i, n: integer;
function f(z :real) :real;
begin f:=z*z*z-2*z*z+z-3; end;
function fdl(z:real):real;
begin fdl:=3*z*z-4*z+1; end;
begin a:=2.1; b:=15; n:=10; i:=0;
c:=a-(f(a))/(f(b)-f(a))*(b-a);
if f(c)*f(a)<0 then x:=a else x:=b;
while i<n do
begin i:=i+1;
x:=x-f(x)/fdl(x);
writeln('i=',i:2,' x=',x:15:12, ' f=',f (x):15:12);
end;
end.

x
. Требуется написать программу для
4
нахождения приближенного решения уравнения f(x)=0 на отрезке [2,4;3] с точностью
е=0,0001 методом Ньютона. Для данной функции на отрезке [2,4; 3] значения М 2 и m1
соответственно, равны 2 и 0,03.
1
Предварительная математическая подготовка; f `(x) = -sin(2x) - .
4
program cnll;
var a, b, xn, xv, M2, ml, e, c : real;
i, n: integer;
function f(z:real):real;
begin f:=cos(z)*cos(z)-z/4; end;
function fdl(z:real):real;
begin fdl:=-sin(2*z)-1/4; end;
begin
a:=2.4; b:=3; M2:=2; ml:=0.03; e:=0.0001;
c:=a-(f(a))/(f(b)-f(a))*(b-a);
if f(c)*f(a)<0 then begin
xn:=a; xv:=b;
end
else begin xn:=b; xv:=a; end;
while M2*sqr(xn-xv)/(2*ml)>e do
begin xv:=xn;
xn:=xv-f(xv)/fdl(xv);
writeln( 'x=',xn:15:12, ' f=',f(xn):15:12);
end;
end.
Пример 2: Пусть дана функция f(х) = cos2 (х)-

алгоритмизация метода касательных

  • 1.
    А1. Алгоритм вычисленийдля заданного количества последовательных приближений: Для реализации этого алгоритма достаточно знать аналитическое описание функций f(x) f'(x). Если описаниеf '(x) не дается в условии задачи, то его необходимо вывести математически. Начальное приближение определяется подобно тому, как это было сделано в методе хорд. f (a) (b a ) Шаг 1. Определение начального приближения х0: c a f (b) f (a ) если f(c) x f(a)< 0, то x0=а иначе x0=b; i = 0. f ( xi ) Шаг 2. Вычисляется хi по формуле xi 1 xi . f ( xi ) Шаг 3. Если i+1 = n то вычисленное решение х = хi. КОНЕЦ. В противном случае i= i+1, затем возвращаемся к шагу 2. А2. Алгоритм вычислений для заданной точности е: В формуле оценки погрешности фигурируют значениям,M2 и m1 Если эти значения не указаны в условии задачи, то их необходимо вычислить, проведя необходимые математические выкладки. Кроме того, необходимы аналитические описания f(х) и f'(x). f (a) (b a ) Шаг 1. Определение начального приближения х0: c a f (b) f (a ) если f(c) x f(a)< 0, то x0=а иначе x0=b; i = 0. f ( xi ) Шаг 2. Вычисляется хi по формуле xi 1 xi . f ( xi ) M2 2 xi 1 xi e то вычисленное решение х =xi КОНЕЦ. Шаг 3. Если 2m1 В противном случае i= i+1, затем возвращаемся к шагу 2.
  • 2.
    Пример 1: Пустьдана функция f(х) =х3 – 2x2 + х - 3. Требуется написать программу вычисления решения уравнения f(х) =0 на отрезке [2; 15] для 10 последовательных приближений методом Ньютона. Предварительная математическая подготовка – определим f `(x) =Зх2 - 4х +1. program cnlO; var a, b, x, c : real; i, n: integer; function f(z :real) :real; begin f:=z*z*z-2*z*z+z-3; end; function fdl(z:real):real; begin fdl:=3*z*z-4*z+1; end; begin a:=2.1; b:=15; n:=10; i:=0; c:=a-(f(a))/(f(b)-f(a))*(b-a); if f(c)*f(a)<0 then x:=a else x:=b; while i<n do begin i:=i+1; x:=x-f(x)/fdl(x); writeln('i=',i:2,' x=',x:15:12, ' f=',f (x):15:12); end; end. x . Требуется написать программу для 4 нахождения приближенного решения уравнения f(x)=0 на отрезке [2,4;3] с точностью е=0,0001 методом Ньютона. Для данной функции на отрезке [2,4; 3] значения М 2 и m1 соответственно, равны 2 и 0,03. 1 Предварительная математическая подготовка; f `(x) = -sin(2x) - . 4 program cnll; var a, b, xn, xv, M2, ml, e, c : real; i, n: integer; function f(z:real):real; begin f:=cos(z)*cos(z)-z/4; end; function fdl(z:real):real; begin fdl:=-sin(2*z)-1/4; end; begin a:=2.4; b:=3; M2:=2; ml:=0.03; e:=0.0001; c:=a-(f(a))/(f(b)-f(a))*(b-a); if f(c)*f(a)<0 then begin xn:=a; xv:=b; end else begin xn:=b; xv:=a; end; while M2*sqr(xn-xv)/(2*ml)>e do begin xv:=xn; xn:=xv-f(xv)/fdl(xv); writeln( 'x=',xn:15:12, ' f=',f(xn):15:12); end; end. Пример 2: Пусть дана функция f(х) = cos2 (х)-