Расчет cos методом разложения в ряд

Ответить
GGringo
Сообщения: 2
Зарегистрирован: 04 ноя 2009, 15:19

Мне надо расчитать косинус методом разложения в ряд Тейлора. Нашел этот пример, но он не правильно считает. Может кто-то выложить листинг функции cos?

[syntax="pascal"]
program cos_teilor;
var x,stx,cost,e: real;
i,fakt,z: integer;
Begin
Write('Введите x: ');
Readln(x);
Write('Введите точность e: ');
Readln(e);
stx:= x*x; {x в степени}
fakt:= 2; {значение факториала в знаменателе}
cost:= 1; {первый элемент в разложении}
i:= 2; {счётчик}
z:= -1; {знак элемента}
while stx/fakt>=e do begin {до тех пор, пока элемент в разложении не меньше точности}
cost:=cost+z*stx/fakt;
inc(i,2);
stx:=stx*x*x;
fakt:=fakt*(i-1)*i;
z:=z*(-1); {смена знака}
end;
Writeln('Количество элементов в разложении = ',i div 2 + 1);
Writeln('Значение cos(',x:6:6,')= ',cost:6:6);
Writeln('Значение компьютера: ',cos(x):6:6);
Readln;
End.
[/syntax]
Newbie
Сообщения: 148
Зарегистрирован: 06 сен 2009, 19:45

Для начала луче выложи формулу разложения в ряд) (я думаю ни кто не полезет в инет специально искать формулу)

ыыыыыы. google прервой строчкой "разложение cos в ряд Тейлора" выдал эту прогу ))))))))))))))))
GGringo
Сообщения: 2
Зарегистрирован: 04 ноя 2009, 15:19

вот формула)
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
Пока дождался, сам написал)))

вот....может кому-то еще понадобится

[syntax="pascal"]
Program cos;
uses Crt;
const n=15; Pi=3.14159;
Var A:array [1..30] of real;
C:array [1..30] of integer;
F:array [1..30] of integer;
x,sum:real;
i,Grad:integer;


BEGIN
clrscr;
writeln('enter x');
readln(Grad);
x:=Grad*Pi/180;
A[1]:=-(x*x/2);
For i:=1 to n*2 do
begin
F:=i;
end;
For i:=1 to n do
begin
C:=F[i*2]*F[i*2-1];
end;
for i:=2 to n do
Begin
A:=-(A[i-1]*x*x/C);
end;
sum:=1;
for i:=1 to n do
Begin
sum:=sum+A;
end;
writeln('cos(x)=',sum:1:7);
writeln('cosX=',Cos(x):1:7);
readln;
end.
[/syntax]
Вложения
2ccb480d5b4fba4ad2f91d425235e26b.png
2ccb480d5b4fba4ad2f91d425235e26b.png (1.96 КБ) 218 просмотров
Ответить