Исследовать уравнение на отрезке [a, b] на существование корней - PascalABC.NET

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

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

Исследовать уравнение f(x)=0 на отрезке [a,b] на существование корней. f(x)=x^4-3x^3+3x^2-12, a=-1.3, b=0 решить методом Ньютона

Решение задачи: «Исследовать уравнение на отрезке [a, b] на существование корней»

textual
Листинг программы
  {функция}
function F(x:real):real;
begin
F:=x*x*x*x-3*x*x*x+3*x*x-12;
end;
{первая производная}
function F1(x:real):real;
begin
F1:=4*x*x*x-9*x*x+6*x;
end;
var x0,x,eps,b:real;
begin
x:=-1.3;
x0:=-2;
{исследуем интервал на наличие корней}
repeat
if F(x)*F(x+0.05)<0 then x0:=x{нашли первое приближение}
else x:=x+0.05;{иначе дальше}
until (x>=0)or(x0>-2);{если нашли или конц интервала, конец}
if x0=-2 then write('Корней в интервле [-1.3;0] нет')
else
 begin
  x0:=(x0+x0+0.05)/2;{уточним первое приближение}
  eps:=0.0001;
  repeat
  b:=x0;
  x0:=b-F(b)/F1(b);
  until abs(x0-b)<eps;
  write('X=',x0:0:5);{найдем корень с заданной точностью}
 end;
end.

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

  1. Задана функция F(x) = x^4 x - 3 x^3 x + 3 x^2 - 12
  2. Задана первая производная F1(x) = 4 x^3 x - 9 x^2 x + 6 * x
  3. Задано значение x = -1.3, x0 = -2, eps = 0.0001
  4. Начинается цикл по интервалу от x до x0
  5. Проверяется, если значение функции F(x) в текущей точке и следующей за ней с шагом 0.05 отрицательно, то x0 обновляется значением текущей точки x
  6. Если условие не выполняется, то текущая точка x увеличивается на 0.05
  7. Цикл продолжается до тех пор, пока x не станет больше или равным 0, или x0 не станет больше -2
  8. Если корней в интервале [-1.3;0] нет, выводится сообщение Корней в интервале [-1.3;0] нет
  9. Если корни есть, то значение x0 уточняется, путем деления суммы x0 и x0 на 2
  10. Задается значение eps = 0.0001
  11. Начинается цикл по точности определения корня
  12. В каждой итерации значение b принимает значение x0, а x0 обновляется как среднее арифметическое b и F(b) / F1(b)
  13. Цикл продолжается до тех пор, пока разница между b и x0 не станет меньше eps
  14. Выводится сообщение X = x0 с точностью до 5 знаков после запятой

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


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

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

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