Решение нелинейных уравнений методом Ньютона - Pascal (6689)

Узнай цену своей работы

Формулировка задачи:

решить методом касательных(метод ньютона). на промежутке (1;3)

Решение задачи: «Решение нелинейных уравнений методом Ньютона»

textual
Листинг программы
uses crt;
var a,b,E,x1: real;
    i: integer;
    t: boolean;
    c: array [0..300] of real;
function f(x: real): real;
begin
 result:=2*sqr(ln(x))+6*ln(x)-5;
end;
function f1(x: real): real;
begin
 result:=(4*ln(x)+6)/x;
end;
function f2(x: real): real;
begin
 result:=(4-4*ln(x)+6)/sqr(x);
end;
begin
 clrscr;
 write('a/b/e: '); {интервал и точность}
 readln(a,b,e);
 c[0]:=a;
 t:=true;
 i:=0;
 x1:=f1(c[i]);
 while t=true do
  begin
   c[i+1]:=c[i]-f(c[i])/f1(c[i]);
   if abs(f(c[i+1]))>E then
    begin
     inc(i);
     x1:=f2(c[i]);
     continue;
    end
     else
      begin
       writeln('C=',c[i+1]:4:2);
       t:=false;
       break;
      end;
  end;
 writeln('Iteratsiy: ',i);
 readln;
end.

Объяснение кода листинга программы

  1. Создаются три функции: f, f1 и f2. Они все принимают один аргумент типа real и возвращают значение типа real.
  2. В основной части программы производится инициализация переменных и считывание значений a, b и e с помощью функции readln.
  3. Переменная c инициализируется массивом размером 300, где каждый элемент имеет тип real.
  4. Переменная t инициализируется значением true.
  5. Переменная i инициализируется значением 0.
  6. Вычисляется значение x1 с помощью функции f1(c[i]).
  7. Запускается цикл while, который выполняется до тех пор, пока значение t равно true.
  8. Внутри цикла происходит вычисление следующего шага приближенного решения уравнения по формуле x_next = x_current - (f(x_current) / f1(x_current))
  9. Если абсолютное значение f(x_next) больше заданной ошибки E, то значение i увеличивается и вычисляется следующее приближенное значение x_next с помощью функции f2(c[i]).
  10. Если значение f(x_next) меньше или равно ошибке E, то выводится значение x_next и цикл прерывается.
  11. После окончания цикла выводится количество итераций.
  12. Выводится сообщение о том, что точность достигнута.
  13. Выводится значение x1.
  14. Выводится сообщение об окончании работы программы.
  15. Запускается функция readln для выхода из программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.714 из 5
Похожие ответы