0 / 0 / 1
Регистрация: 17.10.2016
Сообщений: 8
1

Проверить программу нахождения корня уравнения

17.10.2016, 23:44. Показов 1604. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Народ нужна проверка по И-циклам. Буду очень признателен
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
const a=0;
      b=0.8;  // начало и конец промежутка
var   e, x2, x1, c :real; // точность, корень уравнения
 
function tg(x:real): real;
begin
 result:= sin(x)/cos(x);
end;
 
function sec(x:double): double;
begin
 result:= 1/cos(x);
end;
 
 //Значение функции
 function f(x:real):real; //  функция
   begin
    f:=sin(x)/cos(x)+1/3*power(sin(x)/cos(x),3)+1/5*power(sin(x)/cos(x),5)-1/3;
   end;
 
 //Производная функции
 // первая производная функции
 function f1(x:real):real;
    begin
     f1:=1/8*(cos(4*x)+7)*power(1/cos(x),6);
    end;
 
 // вторая производная функции
  function f2(x:real):real;
     begin
      f2:=3/4*(cos(4*x)+7)*sin(x)/cos(x)*power(1/cos(x),6)-1/2*sin(4*x)*power(1/cos(x),6);
     end;
     begin
      if(f(a)*f1(a)>0)
then x1:=a
else x1:=b;
 begin
 
  if(f(a)*f2(a)>0)
  then c:=b
  else c:=a;
 end;
  begin
   write ('Точность=');
   read(e);
   repeat
    x1:=x1-f(x1)*(x1-c)/(f(x1)-f(c));
    c:=x2;
    x2:=x1;
   until abs(c-x1)<e;
  writeln(' ',x1);
   readln;
end;
end.
Задание: найти корень уравнения.

УравнениеМетод
нахождения
корня
Интервал
нахождения
корня
Условие
прекращения
вычислений
https://www.cyberforum.ru/cgi-bin/latex.cgi?\operatorname{tg}x+\frac{1}{3}\operatorname{tg}^3x+\frac{1}{5}\operatorname{tg}^5x-\frac{1}{3}=0Секущих[0; 0.8]По близости
соседних
приближений
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.10.2016, 23:44
Ответы с готовыми решениями:

Составить программу для нахождения корня уравнения методом итерации
Составить программу для нахождения корня уравнения методом итерации с точностью ε=0,001....

Найти ошибки в программе для нахождения корня уравнения
Помогите пожалуйста, не пойму в чём ошибки: 2)Составить программу для нахождения корня уравнения...

Составить программу нахождения решения линейного уравнения ах + b = 0
помогите поправить задачу.Составить программу нахождения решения линейного уравнения ах + b = 0,...

Составить программу нахождения корня квадратного разности max и min чисел
Program Var a,b,s:real; Begin Readln (max,min,s); Of a&gt;b then writeln (a=max); Else writeln...

2
0 / 0 / 1
Регистрация: 17.10.2016
Сообщений: 8
04.12.2016, 19:07  [ТС] 2
Народ помогите плеас

Вот подробное условие:

Решить уравнение

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
\operatorname{tg}x+\frac{1}{3}\operatorname{tg}^3x+\frac{1}{5}\operatorname{tg}^5x-\frac{1}{3}=0<br />

используя метод секущих:

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
x_{i+1}=x_i-\frac{f\left(x_i\right)\left(x_i-c\right)}{f\left(x_i\right)-f(c)}<br />

где

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
x_0=\begin{cases}b & \text{, if } f(a)f^{''}(a)>0 \\ a & \text{, if } f(b)f^{''}(b)>0\end{cases}<br />

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
c=\begin{cases}a & \text{, if } f(a)f^{''}(a)>0 \\ b & \text{, if } f(b)f^{''}(b)>0\end{cases}<br />

Корень уравнения находится на отрезке [0; 0.8]. Контроль за окончанием просчётов проводить по близости соседних приближений.

Спецификация ввода: a, b, точность.
Спецификация вывода: значение решения.

Мой код:

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
var a,b,e,x,c,x1:real;
Function f(x:real): real;
 
begin
f:=tan(x)+1/3*tan(x)*tan(x)*tan(x)+1/5*tan(x)*tan(x)*tan(x)*tan(x)*tan(x)-1/3
End;
 
Function f1(x:real): real;
Begin
 f1:=1/8*(Cos(4*x)+7)*sqr(1/cos(x))*sqr(1/cos(x))*sqr(1/cos(x));
End;
 
Function f2(x:real): real;
Begin
 f2:=3/4*(Cos(4*x)+7)*tan(x)*sqr(1/cos(x))*sqr(1/cos(x))*sqr(1/cos(x))-1/2*sin(4*x)*sqr(1/cos(x))*sqr(1/cos(x))*sqr(1/cos(x));
End;
 
 
Begin
  read(a,b,e);
if(f(a)*f2(a)>0)
  then  x:=b
  else  x:=a;
 
if(f(a)*f2(a)>0)
 then   c:=a
 else   c:=b;
 
repeat
   x:=x-f(x)*(x-c)/(f(x)-f(c));
   c:=x1;
   x1:=x;
 
until abs (f(x))<e;
writeln(x);
end.
0
Cyborg Drone
05.12.2016, 20:49     Проверить программу нахождения корня уравнения
  #3

Не по теме:

Supamider, настоятельно рекомендую Вам прочитать правила форума. Не дублируйте темы. Достаточно в тему внаписать новое сообщение, и она окажется наверху списка тем раздела. Фотографии и другие файлы с текстом задания запрещены. Ссылки на задания, и вообще на сторонние ресурсы с Вашим контентом, запрещены. Будете и далее вынуждать меня за Вас оформлять Ваши темы - терпение у меня кончится, и я начну поступать с Вами нехорошо.

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.12.2016, 20:49

Написать программу нахождения корней уравнения вида по вводимым a, b и с
Доброе утро, друзья! Помогите пожалуйста, я в Pascal ничего не шарю, а до завтра надо написать...

Составить программу нахождения цифрового корня натурального числа
1)сложить все цифры какого либо числа.получится новое число,равное сумме всех цифр исходного...

Процедура нахождения корня уравнения методом половинного деления и методом Ньютона
написать программу процедуру для нахождения корня каждого уравнения методом половинного деления и...

Написать программу нахождения всех корней нелинейного уравнения
Написать программу нахождения всех корней нелинейного уравнения методом касательных функции...


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

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

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