Ребята помогите пожалуйста, нужна помощь. Дана формула ряда:
Надо составить программу на Фортране.
У меня есть пример выполнения:
Дается формула 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
Причина: test
Нахождение конечной суммы ряда в Фортране
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
Но как на моём примере получить эти два данных?
Вопрос, как я понимаю, в этих двух выражениях?
Тогда смотрим на общий член ряда . Если подставить n=1, то получится , правда, первый член ряда - .
Если записать формулу , поделить на и как следует упростить, то получится искомое выражение через . Все не просто просто, а очень просто
Последний раз редактировалось kiv 28 ноя 2019, 18:09, всего редактировалось 1 раз.
Причина: test
Причина: test
Нахождение конечной суммы ряда в Фортране
В вычислительном (а не программистском) смысле надо суммировать в обратном направлении иначе вы теряете точность складывая масюсенькие члены с большущей суммой.
Последний раз редактировалось folk 28 ноя 2019, 18:09, всего редактировалось 1 раз.
Причина: test
Причина: test
Нахождение конечной суммы ряда в Фортране
folk писал(а):Source of the post В вычислительном (а не программистском) смысле надо суммировать в обратном направлении иначе вы теряете точность складывая масюсенькие члены с большущей суммой.
+1
Общий принцип в том, что складывать и вычитать нужно как можно более близкие по порядку величины.
Последний раз редактировалось SiO2 28 ноя 2019, 18:09, всего редактировалось 1 раз.
Причина: test
Причина: test
Вернуться в «Computer Science»
Кто сейчас на форуме
Количество пользователей, которые сейчас просматривают этот форум: нет зарегистрированных пользователей и 11 гостей