Нахождение конечной суммы ряда в Фортране

Komuccap
Сообщений: 15
Зарегистрирован: 08 ноя 2011, 21:00

Нахождение конечной суммы ряда в Фортране

Сообщение Komuccap » 21 дек 2011, 07:47

Ребята помогите пожалуйста, нужна помощь. Дана формула ряда:
Изображение
Надо составить программу на Фортране.
У меня есть пример выполнения:
Дается формула S=a1+a2+...+an+...
Путем преобразований (которые я не до конца понимаю) получили:
an+1=-(an*4*x^2)/(2*n+1)*(2n+2)
a1=-(2*x)^2/2=2*x^2

И вот программа:
program lab3
eps=0.0001
print*,'x=?';read*,x
a=2*x**2;n=1
S=a
do
a=-(4*x**2)/(2*n+1)/(2*n+2)*a
if(abs(a)<eps) exit S=S+a n=n+1 end do print*,'S=',S end Но как на моём примере получить эти два данных?
Последний раз редактировалось Komuccap 28 ноя 2019, 18:09, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
kiv
Сообщений: 1012
Зарегистрирован: 02 дек 2011, 21:00

Нахождение конечной суммы ряда в Фортране

Сообщение kiv » 21 дек 2011, 10:54

Komuccap писал(а):Source of the post
Дается формула S=a1+a2+...+an+...
Путем преобразований (которые я не до конца понимаю) получили:
an+1=-(an*4*x^2)/(2*n+1)*(2n+2)
a1=-(2*x)^2/2=2*x^2


Но как на моём примере получить эти два данных?

Вопрос, как я понимаю, в этих двух выражениях?

Тогда смотрим на общий член ряда $$a_n=(2n+1)x^{2n}/n!$$. Если подставить n=1, то получится $$a_1$$ :), правда, первый член ряда - $$a_0$$.

Если записать формулу $$a_{n+1}$$, поделить на $$a_n$$ и как следует упростить, то получится искомое выражение $$a_{n+1}$$ через $$a_{n}$$. Все не просто просто, а очень просто
Последний раз редактировалось kiv 28 ноя 2019, 18:09, всего редактировалось 1 раз.
Причина: test

folk
Сообщений: 4177
Зарегистрирован: 11 сен 2009, 21:00

Нахождение конечной суммы ряда в Фортране

Сообщение folk » 21 дек 2011, 19:40

В вычислительном (а не программистском) смысле надо суммировать в обратном направлении иначе вы теряете точность складывая масюсенькие члены с большущей суммой.
Последний раз редактировалось folk 28 ноя 2019, 18:09, всего редактировалось 1 раз.
Причина: test

SiO2
Сообщений: 1853
Зарегистрирован: 17 окт 2009, 21:00

Нахождение конечной суммы ряда в Фортране

Сообщение SiO2 » 22 дек 2011, 09:23

folk писал(а):Source of the post В вычислительном (а не программистском) смысле надо суммировать в обратном направлении иначе вы теряете точность складывая масюсенькие члены с большущей суммой.

+1
Общий принцип в том, что складывать и вычитать нужно как можно более близкие по порядку величины.
Последний раз редактировалось SiO2 28 ноя 2019, 18:09, всего редактировалось 1 раз.
Причина: test


Вернуться в «Computer Science»

Кто сейчас на форуме

Количество пользователей, которые сейчас просматривают этот форум: нет зарегистрированных пользователей и 1 гость