Помощь - Поиск - Пользователи - Календарь
Полная версия: Найти рекурентное соотношение
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
AlexKis
Снова такая задача

Даны действительные числа е>0 и Х.
Вычислить Е (n от 1 до бескон) Un с заданной точностью е. Для обеспечения требуемой точности включить в сумму только те слагаемые, для которых |Un|<e. Для организации вычисления Un получить рекурентное отношение, связывающее Un+1 и Un.

(-1)n+1+X2n-1/(2n-1)!

Добавлено через 1 мин.
program z4_v2;
var
e,q,s,x:real;
n:integer;
begin
write('Введите e: ');readln(e);
write('Введите x: ');readln(x);
n:=0;
q:=1;
s:=0;
while abs(q)>e do
begin
n:=n+1;
q:=q*((-1)+(x*x)/((2*n-1)*(2*n-2)-1)));
s:=s+q;
writeln(q:10:5,s:10:5);
end;
writeln('Сумма=',s:10:5,' Sin(x)=',sin(x): 10 :5);
end.



Добавлено через 7 мин.
(-1)+(x*x/((2*(n-1)-1)*(2*n-1))?????????????????????????
mega_chok.gif
Lapp
Либо там умножение, а не сложение:

(-1)n+1*X2n-1/(2n-1)!

- либо ряд не сходится, и вычисление суммы с заданной точностью невозможно.
amega
Цитата
(-1)n+1+X2n-1/(2n-1)!


а вы случайно не ошиблись условием (-1)n+1*X2n-1/(2n-1)! ?(получается знако-чередующий ряд)


AlexKis
Нет с знаком не перепутал
Сам десять раз перепроверил
Помогите пожалуйста blink.gif
amega
дело в том что при таком услови всега разница н и н+1 будет >1
AlexKis
да я и сам уже перепробовал по разному
Тогда неверное так

q:=q*((-x*x)/((2*n-1)*(2*n-2)-1)));

проверьте пожалуйста
amega
Цитата
да я и сам уже перепробовал по разному
Тогда неверное так
q:=q*((-x*x)/((2*n-1)*(2*n-2)-1)));
проверьте пожалуйста

проверить что именно?
Цитата
q:=q*((-x*x)/((2*n-1)*(2*n-2)-1)));

и ни так..

лучше уточни задание
AlexKis
Даны действительные числа е>0 и Х.
Вычислить Е (n от 1 до бескон) Un с заданной точностью е. Для обеспечения требуемой точности включить в сумму только те слагаемые, для которых |Un|<e. Для организации вычисления Un получить рекурентное отношение, связывающее Un+1 и Un.

(-1)n+1 *X2n-1/(2n-1)!
volvo
Значит, все-таки "умножить"? Ну, тогда

Un+1/Un = (-1)((n+1)+1) - (n+1) * X(2(n+1)-1) - (2n-1) / ((2(n+1)-1)*(2(n+1)-2)), упрощай выражение, что у тебя получится?
amega
если коснутся математики, то ето знакоположительный ряд, и связывающее Un+1 и Un. это признак Д`Аламбера, но его можно применять в этгом случаее, взявши модуль вот того виражение. В програме также нужно будет брать модуль при считиваниии очередного значении ряда.
volvo
Это знакопеременный ряд, а не знакоположительный...
Lapp
Я, конечно, понимаю, что форум и все такое, не нравится - не отвечай.. Но все же странно, когда человека много раз просят проверить условие, говорят, почему - а он упирается всем, чем можно, и все просит что-то "проверить". А потом вдруг выясняется, что все же ошибка есть - и НИКАКОГО ИЗВИНЕНИЯ за свое нежелание послушать или благодарности, что наставили на путь - только голое условие..

Терпеть не могу таких "собеседников", блинн..

простите за оффтоп.
AlexKis
Я конечно извиняюсь give_rose.gif

А про задачу могу сказать что в условии (-1)n+1+X2n-1/(2n-1)!
Стоит плюс понимаете плюс!!!

Потом я понял что это возможно опечатка, и написал со знаком умножения.

Цитата
Un+1/Un = (-1)((n+1)+1) - (n+1) * X(2(n+1)-1) - (2n-1) / ((2(n+1)-1)*(2(n+1)-2)), упрощай выражение, что у тебя получится?


(-1)1*X0/(2(n+1)-1)*(2(n+1)-2))
Гость
Цитата
(-1)1*X0/(2(n+1)-1)*(2(n+1)-2))
Неправильно, перепроверяй. А если там "плюс" - то вообще забудь, тебе уже сказали, я больше повторять не буду, что происходит в таком случае...
AlexKis
Тогда X2

(-1)1*X2/(2(n+1)-1)*(2(n+1)-2))
volvo
Ты считаешь, или гадаешь? Числитель доделал, теперь упрощай знаменатель...
AlexKis
(2(n+1)-1)*(2(n+1)-2))=(2n+1)*(2n)
-alexkis-
Ну помогите пожалуйста с задачей, никак не получается
должен получится sin(x)
volvo
Что именно у тебя не получается? У меня почему-то получилось... Да я и в FAQ такое выкладывал, именно Sin(x):
Общие вопросы по математике.

А ты как всегда поиском не пользовался, да?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.