Реализация метода Ньютона - Pascal ABC

  1. Добрый вечер друзья. Пролистал кучу топиков на форуме и примеров программ связанных с реализацией метода ньютона. Переделал одну из программ под свою задачку. Условие задачки: (x-3)*cosx=1 , -2pi<=x<=2pi . Проблема в том, что она выдает непонятное значение, а мои знания математике не велики, подскажите в чем моя ошибка, заранее спасибо . Код программы:


textual

Код к задаче: «Реализация метода Ньютона - Pascal ABC»

uses crt;
function f1(x: real): real;
begin
f1:=(((x-3)*cos(x))-1);
end;
function f2(x:real): real;
begin
f2:=cos(x)-(x-3)*sin(x);
end;
function Newton(a,b,e:real):real;
var x:real;
begin
if f1(a)*f2(a)>0 then x:=a
else x:=b;
while abs(f1(x))>e do
   begin
     x:=x-f1(x)/f2(x);
   end;
Newton:=x;
end;
 
var x,x1,x2,dx,x11,x12,eps:real;
    i:integer;
begin
clrscr;
x1:=-2*pi; {весь интервал для поиска корней}
x2:=2*pi;
dx:=0.1;{шаг движения по интервалу}
eps:=0.001; {точность вычислкения корня}
x:=x1;
i:=0;
while x<=x2 do {движемся слева направо}
 begin
  x11:=x;
  x12:=x+dx;
  if F1(x11)*F1(x12)<0 then{если знаки функции на концах малого интервала разные}
   begin
    i:=i+1; {есть корень}
    writeln('X',i,'=',Newton(x11,x12,eps):8:5);{уточняем его}
   end;
  x:=x+dx;{к новому интервалу размером 0.1}
 end;
readln
end.

СДЕЛАЙТЕ РЕПОСТ

7   голосов, оценка 3.714 из 5



Похожие ответы
  1. Здравствуйте! У меня поставлена задача отсортировать одномерный массив 4мя разными методами. Не могли бы вы подсказать каким способом я смогу это сделать в одной программе? Алгоритмы сортировки я знаю, их не надо писать.Спасибо.

  1. Условия и данные: Уравнение: - p*x*y2 - y12 p = 0.04; y20 = 0.45 Y1' = Y2 Y' = f(x, Y1, Y2) при Y1(0) = 0; Y2(0) = Y20; Программа по методу Эйлера работает правильно:

  1. Всем доброй пасхи Готовлюсь к экзаменам. В билете такое вот задание: "Составление и реализация на языке програмирования (собственно паскаль) алгоритма с использованием оператора цикла с параметром For. Объясните как это вообще? Здесь я нуб\

  1. Дана преподавателем программа, а при вводе она не работает, выдает ошибку((((( Очень нужна помощь того, кто в этом понимает!!!! Лабораторная работа 13-14. Объектно-ориентированное программирование Задание 1. Опишите объект «обыкновенная дробь» с методами «НОД числителя и знаменателя», «сокращение», «натуральная степень».

  1. определить площадь круга с использованием метода "Монте- Карло"

  1. Написать программу, которая будет формировать список студентов факультета Математики. Реализовать функции: 1. Создать / удалить кафедру факультета. 2. Добавить / изменить инфо / наити (за ФИО, курсом или группой) / удалить / студента с кафедры. (ФИО, курс, группа). 3. Вывести всех студентов факультета за алфавитом+ 1. реализовать "защиту данных" от неправильного ввода 2. функции должны быть объеденены в модуле 3. информация сохраняется в массивах 4. для работы должно преддлаагться меню с набором возможных действий

  1. Реализация стека процедур Push и Pop. help

  1. Реализация функции