Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
153 / 0 / 1
Регистрация: 19.11.2017
Сообщений: 30
1

Методом дихотомии (деления отрезка пополам) найти корни кубического уравнения

24.09.2019, 19:29. Просмотров 863. Ответов 1
Метки нет (Все метки)


Здравствуйте, помогите пожалуйста не понимаю как написать правильный код к такому заданию:Методом дихотомии (деления отрезка пополам) найти корни кубического уравнения с точностью ε = 0.001. Уравнение такое 2x^3-3x^2-x/2+3/4
код написал так, подскажите где ошибка
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
var
  a,b,c,fa,fb,fc,e,k:real;
begin
  //'ВВод отрезка ab'
  a:=-1;
  b:=1;
  fa:=2*a*a*a-3*a*a-a/2+3/4;
  fb:=2*b*b*b-3*b*b-b/2+3/4;
  e:=0.001;
  if (fa*fb)<=0 then
  begin 
    repeat
      k:=k+1;
      c:=(a+b)/2;
      fa:=2*a*a*a-3*a*a-a/2+3/4;
      fc:=2*c*c*c-3*c*c-c/2+3/4;
        if (fa+fc)<=0 then b:=c
        else a:=c
      until (b-a)<=e;
        writeln('корень равен ',c:6:5);
      end
      else writeln('корень на отрезке ab отсутствует');
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.09.2019, 19:29
Ответы с готовыми решениями:

Методом деления отрезка пополам (дихотомии) найти корни уравнения
методом деления отрезка пополам(дихотомии) решить уравнение с точностью до 0.001 (x-2)^2*2^x=1

Методом деления отрезка пополам (дихотомии) найти корни уравнения
методом деления отрезка пополам(дихотомии) решить уравнение с точностью до 0.001 x^4-18*x^2+6=0 ...

Найти корни уравнения методом деления отрезка пополам
Найти корни уравнения методом деления отрезка пополам. Функция x^2. Координаты и точность с клавы...

Найти корни уравнения методом деления отрезка пополам
Подскажите пожалуйста, Мне нужно найти корни уравнения методом деления отрезка пополам. Cамо...

__________________
Помогаю в написании курсовых работ и дипломов здесь.
1
4282 / 2059 / 2102
Регистрация: 10.12.2014
Сообщений: 7,935
25.09.2019, 05:53 2
Решений данного уравнения три. Поэтому нужно сначала выделить интервал, на котором происходит изменение знака, а только потом искать конкретное решение.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
const
  a = -100.0;
  b = +100.0;
  delta = 0.1;
  eps = 1.0e-3;
 
function f(x : real) : real;
begin
  f := 2*x*x*x - 3*x*x - x/2 + 3/4;
end;
 
var
  x0, x1, xa, xb, xc : real;
  d : byte;
begin
  x0 := eps;
  d := 1;
  while x0 < 1 do
    begin
      x0 := x0 * 10;
      inc(d);
    end;
 
  { Сначала ищем интервалы, на которых происходит изменение знака }
  x1 := a;
  repeat
    x0 := x1;
    x1 := x1 + delta;
    
    if f(x0) * f(x1) < 0 then
      { На этом отрезке знак функции изменился, значит на нём есть корень. }
      { Ищем корень методом дихотомии }
      begin
        xa := x0; xb := x1; 
        while xb - xa > eps do
          begin
            xc := (xa + xb) / 2;
            if f(xb) * f(xc) < 0 then
              xa := xc
            else
              xb := xc;
          end;
        WriteLn('f(', (xa + xb) / 2:0:d, ') = ', f((xa + xb) / 2):0:d);
      end;
    
  until x1 > b;
end.
А вообще — точность очень высокая. Нужно понизить её хотя бы до –5 степени.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.09.2019, 05:53

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь или здесь.

Найти корни уравнения методом деления отрезка пополам
Вот по этой задаче Найти корни уравнения методом деления отрезка пополам 2sin⁡(3x)...

Найти корни уравнения методом деления отрезка пополам
Всем привет!! Помогите написать программу пожалуйста Вычислить значение выражения по формуле...

Найти корни функции на заданном интервале методом дихотомии (деления отрезка пополам). функция Sin(x)/Ln(x) на интервале [-10,-9.2]
Найти корни функции на заданном интервале методом дихотомии (деления отрезка пополам). функция...

На интервале [a,b] найти с точностью 10(степень -5) корни уравнения F(x) = 0 заданным методом деления отрезка пополам
2) на интервале найти с точностью 10(степень -5) корни уравнения F(x) = 0 заданным методом деления...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.