В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
nura20061
nura20061
22.12.2021 12:38 •  Информатика

Составить программу для вычисления корня нелинейного уравнения по методу касательных х^2-cos(x^2)=6

Показать ответ
Ответ:
asya159
asya159
24.07.2020 21:21
Для метода касательных (он же - метод Ньютона) надо задать начальное приближение и получить выражение для производной функции.
f(x)=x^2-\cos(x^2)-6; \\ f'(x)=2x+2x\sin(x^2)=2x(1+\sin(x^2))
Рекуррентная формула в методе Ньютона имеет следующий вид:
\displaystyle x_{n+1}=x_n- \frac{f(x_n)}{f'(x_n)}
Для нашей конкретной задачи можно записать:
\displaystyle x_{n+1}=x_n- \frac{x_n^2-\cos{x_n^2}-6}{2x_n(1+\sin{x_n^2})}
А еще надо задать погрешность решения, которую определим так:
\displaystyle |f(x_{n+1})|\leq \varepsilon

 function f(x:real):real;
begin
  f:=sqr(x)-cos(sqr(x))-6
end;

function fn1(x:real):real;
begin
  fn1:=x-(sqr(x)-cos(sqr(x))-6)/(2*x*(1+sin(sqr(x))))
end;

var
  xn,xn1,y,eps:real;
begin
  Writeln('Введите начальное приближение для корня: ');
  Read(xn);
  Writeln('Введите значение погрешности для решения: ');
  Read(eps);
  xn1:=xn; y:=f(xn);
  while abs(y)>eps do
    begin xn1:=fn1(xn); y:=f(xn1); xn:=xn1 end;
  Writeln('x=',xn1,' f(x)=',y)
end.

Тестовое решение:
Введите начальное приближение для корня:
-3
Введите значение погрешности для решения:
0.00001
x=-2.61645602631473 f(x)=1.28691349221555E-06
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота