Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/29: Рейтинг темы: голосов - 29, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 18.03.2014
Сообщений: 4
1

Отделить корни уравнения графически и уточнить один из них методом Ньютона

09.01.2015, 15:22. Показов 5449. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребята,помогите
Отделить корни уравнения 2x4+3x3+5x2-18=0 графически и уточнить один из них методом Ньютона с точностью 0,001

Добавлено через 1 час 45 минут
erl27 спасибо за коррекцию
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.01.2015, 15:22
Ответы с готовыми решениями:

Отделить корни графически и уточнить один из них методом половинного деления и касательных с точностью 0,001.
Пожалуйста отзовитесь! Нужна ваша помощь!!! Не разбираюсь вообще!! Отделить корни графически и...

Отделить корни уравнения аналитическим способом и уточнить один из них делением отрезка пополам
Не понимаю задачу.Подскажите как писать код. Отделить корни уравнения 2х^3-9x^2-60x+1=0...

Определить корни уравнения графически и уточнить один из них ите- рационными методами
Определить корни уравнения графически и уточнить один из них ите- рационными методами (методом...

Отделить корни уравнения графически и уточнить один из них методом касательных
Отделить корни уравнения графически и уточнить один из них методом касательных с точностью e=0,001...

2
908 / 756 / 833
Регистрация: 06.09.2013
Сообщений: 1,561
09.01.2015, 15:54 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Два корни находятся в интервалах: (-1.8; -1.6), (1.2; 1.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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
2*sqr(sqr(x))+3*x*x*x+5*x*x-18;
end;
 
var
  x0, y0, x, y, n: integer;
  x1, y1, a, b, f1, f2, mx, my, h, dy, num: real;
  i: byte;
  s: string;
 
begin
  MaximizeWindow;
  //интервал по Х:
  a := -3; b := 2; h := 0.2;
  //Интервал по Y:
  f1 := -20; f2 := 5; dy := 1;
  //Устанавливаем масштаб:
  mx := (WindowWidth - 100) / (b - a); //масштаб по Х
  my := (WindowHeight - 100) / (f2 - f1); //масштаб по Y
  //начало координат:
  x0 := trunc(abs(a) * mx) + 50;
  y0 := WindowHeight - 50 - trunc(abs(f1) * my);
  //Рисуем оси координат:
  line(50, y0, WindowWidth - 40, y0); //ось ОХ
  line(x0, 40, x0, WindowHeight - 50); //ось ОY
  SetFontSize(12); //Размер шрифта
  SetFontColor(clRed); //Цвет шрифта
  TextOut(WindowWidth - 30, y0 - 15, 'X'); //Подписываем ось OX
  TextOut(x0 - 10, 20, 'Y'); //Подписываем ось OY
  SetFontSize(8); //Размер шрифта
  SetFontColor(clBlue); //Цвет шрифта
  { Засечки по оси OX: }
  n := round((b - a) / h) + 1; //количество засечек по ОХ
  for i := 0 to n do begin
    num := a + i * h; //Координата на оси ОХ
    x := 50 + trunc(mx * (num - a)); //Координата num в окне
    Line(x, y0 - 3, x, y0 + 3);
    s := FloatToStr(num);
    if abs(num) > 1E-15 then //Исключаем 0 на оси OX
      TextOut(x - TextWidth(s) div 2, y0 + 10, s)
  end;
  { Засечки на оси OY: }
  n := round((f2 - f1) / dy) + 1; //количество засечек по ОY
  for i := 1 to n do begin
    num := f1 + (i - 1) * dy; //Координата на оси ОY
    y := WindowHeight - 50 - trunc(my * (num - f1));
    Line(x0 - 3, y, x0 + 3, y); //рисуем засечки на оси Oy
    str(num:0:0, s);
    if abs(num) > 1E-15 then //Исключаем 0 на оси OY
      TextOut(x0 + 7, y - TextHeight(s) div 2, s)
  end;
  TextOut(x0 - 10, y0 + 10, '0'); //Нулевая точка
  { График функции: }
  h := 0.001;
  x1 := a;
  while x1 <= b + h / 2 do
  begin
    y1 := F(x1);
    x := x0 + round(x1 * mx); //Координата Х в графическом окне
    y := y0 - round(y1 * my); //Координата Y в графическом окне
    if (y >= 50) and (y <= WindowHeight - 50) then
      SetPixel(x, y, clRed);
    x1 := x1 + h
  end
end.
Добавлено через 20 минут
Корни:
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
const
  e = 0.001;
 
//Функция
function F(x: real): real;
begin
  f := 2*sqr(sqr(x))+3*x*x*x+5*x*x-18
end;
 
//Производная
function F1(x: real): real;
begin
  f1 := 8*x*x*x+9*x*x+10*x
end;
 
var
  x, x1, dx: real;
  i: byte;
 
begin
  cls;
  for i := 1 to 2 do begin
    if i = 1 then x := -2 //начальное значение
    else x := 1; //начальное значение
    repeat
      x1 := x - f(x) / f1(x);
      dx := abs(x - x1);
      x := x1
    until dx < e;
    writeln('x', i, ' = ', x:0:3)
  end
end.
0
0 / 0 / 0
Регистрация: 18.03.2014
Сообщений: 4
09.01.2015, 16:17  [ТС] 3
Спасибо большое!!!
0
09.01.2015, 16:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.01.2015, 16:17
Помогаю со студенческими работами здесь

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

Отделить корни уравнения графически. Уточнить корни уравнения методом половинного деления
Здравствуйте, господа программисты, помогите пожалуйста код написать, очень нужна ваша помощь) Вот...

Определить корни уравнения графически и уточнить один из них итерационными методами (методом деления отрезка пополам)
с точностью 0,01: Х3 + 3Х -1=0. Помогите пожалуйста составить программу)

Отделить корни уравнения графически и уточнить наибольший корень методом половинного деления
Решение нелинейных уравнений методом половинного деления. Отделить корни уравнения графически и...

отделить корни аналитически и уточнить один из них методом итераций
Здравствуйте, очень нужна ваша помощь... Помогите решить уравнение x^3+3x^2-6x-1 E=0,01 Если...

Отделить корни аналитически и уточнить один из них методом половинного деления с точностью 0.01
Задание: Отделить корни аналитически и уточнить один из них методом половинного деления с точностью...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru