Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
FaZeR94
1

Решить уравнение методом касательных

30.10.2014, 11:43. Просмотров 1145. Ответов 2
Метки нет (Все метки)

Надо решить уравнение https://www.cyberforum.ru/cgi-bin/latex.cgi?f(x)=e^{x}-x^{3}+3x^{2}-2x-3 методом касательных. оно имеет 2 решения:1)-0,5926 2)1,0738.
Моя программ находит только второе значение,независимо от заданного интервала.
Вот сама программа:
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
program Metod_kasatelnblx;
const e=2.71828;
Eps=0.0001;
var
k:integer;
x,x1,x0,a,b,fx,f1x,f2x,ff:real;
begin
writeln('Уравнение');
writeln('fx=e^x-x^3+3x^2-2x-3.');
writeln('Первая производная');
writeln('f1x=e^x-3x^2+6x-2.');
writeln('Вторая производная');
writeln('f2x=e^x-6x+6.');
writeln('Введите границу отрезка a');
write('a=');read(a);
writeln('Введите границу отрезка b');
write('b=');read(b);
  begin
  ff:=(Exp(b)-(b*b*b)+(3*b*b)-(2*b)-3)*(Exp(b)-(6*b)+6);
  if ff>0 then
  ff:=(Exp(b)-(b*b*b)+(3*b*b)-(2*b)-3)*(Exp(b)-(6*b)+6)
  else
  ff:=(Exp(a)-(a*a*a)+(3*a*a)-(2*a)-3)*(Exp(a)-(6*a)+6);
  writeln('  ff=',ff:2:3);
  end;
     Repeat
     inc(k);
     if k <> 1 then
     x0:=x1;
     begin
     x:=x0-(Exp(x0)-(x0*x0*x0)+(3*x0*x0)-(2*x0)-3)/(Exp(x0)-(3*x0*x0)+(6*x0));
     end;
     x1:=x;
     writeln('k=',k:3);
     writeln('   x= ',x:2:3);
     Until  abs(x-x0) < Eps;
writeln('Корни системы:');
write('  x=',x:2:3);
end.
P.S. програмирование освайваю недавно,так что не ругайтесь за такую прогу=)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.10.2014, 11:43
Ответы с готовыми решениями:

Решить уравнение методом Ньютона (касательных)
ребят, где я ошибся? задача была уравнение √x+x2-3 решить методом ньютона(касательных) uses crt;...

Решить уравнение методом Ньютона (касательных)
X^3-2x-13 методом Ньютона (касательных). Помогите пожалуйста..

Решить уравнение методом хорда
Помогите решить уравнение методом хорда : X^3 + 4X^2 - 6 = 0 .

Решить уравнение графическим методом
Помогите нужно решить уравнение графическим методом x^3+x^2-3=0

2
Эксперт Pascal/Delphi
6431 / 4346 / 4657
Регистрация: 05.06.2014
Сообщений: 21,266
31.10.2014, 11:55 2
Вы выводите только одно значение, метод касательных я не помню, но, кажется, только одно и считаете.
0
72 / 72 / 64
Регистрация: 30.04.2014
Сообщений: 214
31.10.2014, 15:47 3
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
Var x,a,b,e:real;
    k:integer;
Function f1(x:real):real;
 begin
  f1:=exp(x)-x*x*x+3*x*x-2*x-3;
 end;
Function f2(x:real):real;
 begin
  f2:=exp(x)-2*x*x+6*x-2;
 end;
Procedure Kasat(a,b,e:real);
 begin
 k:=0;
  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);
    k:=k+1;
    Writeln('Iteraciya N',k,' x0=', x:6:4,' f(x0)=',f1(x):6:4);
   end;
 Writeln('Konechniy rezultat:');
 Writeln('x0=',x:6:4,' Iteratsiy: ',k);
 end;
begin
Writeln('Vvedite A');
Readln(a);
Writeln('Vvedite B');
Readln(b);
Writeln('Vvedite tochnost E');
Readln(e);
Kasat(a,b,e);
readln;
end.
Добавлено через 2 минуты
Запустите программу 2 раза.
1 раз введете -1 и 0
2 раз 0.5 и 1.5
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.10.2014, 15:47

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

Методом деления отрезка пополам решить уравнение
Задание на курсовую работу по информатике Вариант 8 Задание: Методом деления отрезка пополам...

Решить уравнение методом деления отрезка пополам
Решить уравнение методом деления отрезка пополам. Каждый этап решения выводить в файл: sin(1-x)=x...

Решить уравнение методом деления отрезка пополам
уравнение arcsin(x)+x-1=0, с погрешностью Е=10^(-6) по математической части знаю, графическим...

Численные методы. Решить нелинейное уравнение методом половинного деления
решение нелинейных уравнений. метод половинного деления. 2^x-3x-2=0 Добавлено через 5 часов 13...

Найти нуль функции методом касательных
uses crt; function f(x: real): real; begin f := x + ln(x); // данная нам функция end; var...

Найти корень уравнения методом хорд и касательных
найдите корень уравнения x^4 - 26x^3 + 131x^2-226x+120 = 0 c точностью до 10:-4 в интервале...


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

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

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