Как найти рекуррентную формулу суммы

      1. Вычисление суммы ряда с использованием рекуррентного соотношения

Вычисление
суммы ряда по общей формуле, рассмотренное
в предыдущем разделе, безусловно,
является общим способом решения подобных
задач. Но иногда процесс вычислений
можно существенно упростить, построив
рекуррентное соотношение для вычисления
очередного слагаемого. В этом случае
каждое слагаемое вычисляется как
некоторая функция, зависящая от одного
или нескольких предыдущих членов ряда.
Построим рекуррентное соотношение для
следующего ряда.

, где

Сначала запишем формулы для слагаемых
с номерами nиn— 1.

Вычислим отношение .

Таким образом, мы получили, что

Отсюда можно легко получить рекуррентное
соотношение для вычисления очередного
слагаемого.

В этой формуле sn– очередное
слагаемое,sn-1– предыдущее
слагаемое,x– точка, в которой
вычисляется сумма ряда,n– номер
очередного слагаемого.

Используя
полученную рекуррентную формулу, найдем
сумму ряда в некоторой заранее заданной
точке xс определенной точностью
ε. Так же как и предыдущем случае,
исходными данными будут значениеxи необходимая точность вычислений ε.
Для ввода исходных данных будем
использовать функциюInputBox.
Результатом программы является значение
накопленной суммы. Но для проверки
правильности вычислений мы будем еще
выводить значение левой части выражения,
номер и значение последнего слагаемого,
вошедшего в сумму. Для вывода результатов
будем использовать окно списка с именемlstA.

Для
решения этой задачи нам потребуется
организовать цикл с условием. На каждом
шаге цикла мы будем по рекуррентной
формуле вычислять значение очередного
слагаемого и прибавлять его к общей
сумме. Как только очередное слагаемое
станет меньше заданной точности, мы
закончим выполнение цикла.

Рассмотрим
особенности программной реализации
этого алгоритма. Для решения задачи нам
потребуются следующие переменные: x– точка, в которой вычисляется сумма
ряда,eps– требуемая точность вычислений,summa– искомая сумма ряда,slag– очередное слагаемое. Все эти переменные
имеют рациональный тип данных. Для
повышения точности наших вычислений
будем использовать типDouble.

Dim x, summa, slag, eps As Double

Так как рекуррентная формула зависит
от номера очередного слагаемого, то для
его хранения заведем переменную n.

Dim n As Integer

Очищаем окно списка.

lstA.Items.Clear()

Вводим исходные данные.

x = Val(InputBox(«Введите
точку»))

eps = Val(InputBox(«Введите
точность»))

Задаем начальные значения переменных.
Номер первого слагаемого равен единице.

n = 1

По формуле ряда определяем первое
слагаемое.

slag = x

Итоговую сумму полагаем равной первому
слагаемому.

summa = slag

Организуем основной цикл.

Do

На каждом шаге мы вычисляем очередное
слагаемое. При этом его номер будет на
единицу больше, чем на предыдущем шаге.

n += 1

Используя рекуррентное соотношение,
вычисляем очередное слагаемое.

slag = -slag * x ^ 2 / ((2 * n
— 2) * (2 * n — 1))

И добавляем его к итоговой сумме.

summa += slag

Проверяем, если модуль слагаемого меньше
заданной точности, то дальнейшие
вычисления не приведут к заметным
изменениям результата, и выполнение
цикла можно завершить.

Loop Until Math.Abs(slag) <=
eps

Выводим в окно списка полученную сумму,
значение выражения, стоящего в левой
части равенства, номер и значение
последнего слагаемого.

lstA.Items.Add(«summa=»
+ Str(summa))

lstA.Items.Add(«sin(x)=»
+ Str(Math.Sin(x)))

lstA.Items.Add(«n=» +
Str(n))

lstA.Items.Add(«Последнее
слагаемое =» + Str(slag))

Полный
текст программы представлен в приложении
18. Пример работы программы приведен на
рис. 32. Исходные данные для этого случая:
x = 1,eps = 1e-4
= 10-4.

Рис. 32.Пример работы программы
вычисления суммы ряда с использованием
рекуррентного соотношения

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

0 / 0 / 0

Регистрация: 16.12.2021

Сообщений: 7

1

Как вывести рекуррентную формулу и посчитать сумму членов ряда?

18.01.2022, 19:55. Показов 2316. Ответов 12


Студворк — интернет-сервис помощи студентам

исходные данные 0,15 . Точность вычисления 10^-3

Миниатюры

Как вывести рекуррентную формулу и посчитать сумму членов ряда?
 



0



Royal_X

1130 / 781 / 308

Регистрация: 01.06.2021

Сообщений: 2,950

18.01.2022, 20:21

2

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <cmath>
using namespace std;
 
int main()
{
    const double x = 0.15, eps = 1e-3;
    double t, s = 0., t4;
    int n = 1, t1 = -1, t2, t3, t5;
    do
    {
        t1 *= -1;
        t2 = 2 * n;
        t3 = t2 + 1;
        t4 = pow(x, t3);
        t5 = (t2 - 1) * t3;
        t = t4 / t5;
        s += t * t1;
        ++n;
    } while(t > eps);
    cout << s;
}



0



Байт

Диссидент

Эксперт C

27472 / 17160 / 3783

Регистрация: 24.12.2010

Сообщений: 38,662

19.01.2022, 12:31

3

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
 
int main()
{
    const double x = 0.15, eps = 1e-3;
    double t, s = 0., t4=x;
    int n = 1, t1 = -1, t2;
    do
    {
        t1 *= -1;
        t2 = 4 * n * n +1;
        if (n>1) t4 *= x*x;  // Немножко рекуррентности
        t = t4 / t2;
        s += t * t1;
        ++n;
    } while(t > eps);
    cout << s;
    return 0;
}



1



Модератор

Эксперт функциональных языков программированияЭксперт Python

35427 / 19452 / 4071

Регистрация: 12.02.2012

Сообщений: 32,486

Записей в блоге: 13

19.01.2022, 17:28

4

Лучший ответ Сообщение было отмечено Kuzia domovenok как решение

Решение

Поскольку:

https://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{n}={(-1)}^{(n+1)}{x}^{(2n+1)}/(4{n}^{2}-1)

то

https://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{n+1}={(-1)}^{(n+2)}{x}^{(2n+3)}/(4{(n+1)}^{2}-1)

Тогда:

https://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{n+1}/{a}_{n}=-{x}^{2}(4{n}^{2}-1)/(4{(n+1)}^{2}-1)=-{x}^{2}((2n-1)(2n+1))/((2(n+1)-1)(2(n+1)+1))=<br />
-{x}^{2}(2n-1)(2n+1)/((2n+1)(2n+3))=-{x}^{2}(2n-1)/(2n+3)

Это и есть искомая рекуррентная формула



2



Yetty

7427 / 5021 / 2891

Регистрация: 18.12.2017

Сообщений: 15,694

19.01.2022, 19:56

5

opin, в формуле общего члена ряда ошибка, в знаменателе должен быть +

https://www.cyberforum.ru/cgi-bin/latex.cgi?S=frac{{x}^{3}}{5}-frac{{x}^{5}}{17}+...+{(-1)}^{n+1}frac{{x}^{2n+1}}{4{n}^{2}+1}

Royal_X, результат Вашего кода 0.00111994 — проверьте код
Байт, результат Вашего кода 0.0298015 — проверьте код

opin,

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <cmath>
using namespace std;
 
int main()
{
    int n=1;
    double x=0.15, q=x*x, p=-x, an=1., S=0., eps=1e-3;
    
    while(fabs(an)>eps)
    {
        p*=-q;        
        an=p/(4.*n*n+1.);        
        S+=an;
        n++;
    }
    
    cout << "S=" << S << "n";
    
system("pause");
return 0;
}

результат:
0.000675

Цитата
Сообщение от opin
Посмотреть сообщение

как вывести рекуррентную формулу

в этой задаче нет смысла вычислять рекуррентную формулу (это приведёт к сложным вычислениям), достаточно рекуррентно находить числитель



0



Модератор

Эксперт функциональных языков программированияЭксперт Python

35427 / 19452 / 4071

Регистрация: 12.02.2012

Сообщений: 32,486

Записей в блоге: 13

19.01.2022, 21:14

6

Цитата
Сообщение от Yetty
Посмотреть сообщение

это приведёт к сложным вычислениям

— не сказал бы. См пост #4 Но если не минус, а плюс, то да, выгоды особой нет



0



1130 / 781 / 308

Регистрация: 01.06.2021

Сообщений: 2,950

20.01.2022, 01:12

7

Цитата
Сообщение от Yetty
Посмотреть сообщение

результат Вашего кода 0.00111994 — проверьте код

В моем коде ошибки нет (подтверждается Wolfram Mathematica), результат такой, какой и должен быть для ряда, написанного ТС.

Как вывести рекуррентную формулу и посчитать сумму членов ряда?

Цитата
Сообщение от Yetty
Посмотреть сообщение

в формуле общего члена ряда ошибка, в знаменателе должен быть +

Как вы пришли к выводу, что там ошибка?



0



7427 / 5021 / 2891

Регистрация: 18.12.2017

Сообщений: 15,694

20.01.2022, 06:49

8

Цитата
Сообщение от Royal_X
Посмотреть сообщение

Как вы пришли к выводу, что там ошибка?

подставьте в формулу общего члена ряда n=1, n=2 получаются слагаемые

https://www.cyberforum.ru/cgi-bin/latex.cgi?frac{{x}^{3}}{3}-frac{{x}^{5}}{15}+...

сравните с рядом, который привёл ТС

теоретически ещё есть возможность что допущены 2 ошибки в этих знаменателях, но предполагаю что опечатка одна в формуле общего члена ряда

Цитата
Сообщение от Catstail
Посмотреть сообщение

не сказал бы. См пост #4

не могу с Вами согласиться. Вы уже произвели целый ряд вычислений, даже не приступив к написанию кода. кроме того если использовать выведенную Вами формулу добавятся дополнительные вычисления на каждой итерации цикла.



0



1130 / 781 / 308

Регистрация: 01.06.2021

Сообщений: 2,950

20.01.2022, 09:40

9

Yetty, я писал код на основе общей формулы, а не анализировал и делал какие-то выводы на основе первых двух слагаемых. Почему вы так уверены, что ошибка в общей формуле? А если как раз формула точна, но ошибка в первых двух слагаемых?



0



7427 / 5021 / 2891

Регистрация: 18.12.2017

Сообщений: 15,694

20.01.2022, 15:11

10

Цитата
Сообщение от Royal_X
Посмотреть сообщение

Почему вы так уверены, что ошибка в общей формуле?

на этот вопрос я уже ответил:

Цитата
Сообщение от Yetty
Посмотреть сообщение

теоретически ещё есть возможность что допущены 2 ошибки в этих знаменателях, но предполагаю что опечатка одна в формуле общего члена ряда

вероятность одной опечатки выше чем вероятность двух опечаток. Вы согласны, что имеется опечатка(и) в записи ряда ? при ответе на вопрос ТС ничего не упомянули про опечатку в формуле, кроме того не вижу у Вас в коде рекуррентности (если не заметил, поправьте) — а в этом (рекуррентности) собственно и состоял вопрос



0



1130 / 781 / 308

Регистрация: 01.06.2021

Сообщений: 2,950

20.01.2022, 15:55

11

Yetty, если я сделал бы по слагаемым, а не по формуле, то тогда вы бы сказали, что ошибка в слагаемых, а не в формуле Что касается вероятности опечаток, то у двух опечаток вероятность не будет выше, так как опечатки не разношёрстные. Скажем, если даже опечатка в слагаемых и если человек сделал опечатку в первом слагаемом, то он просто будет повторять эту опечатку в других слагаемых. Поэтому неправильно говорить о двух опечатках. Это одна повторяющаяся опечатка.



1



Модератор

Эксперт CЭксперт С++

4635 / 2658 / 1429

Регистрация: 14.12.2018

Сообщений: 4,946

Записей в блоге: 1

20.01.2022, 15:56

12

Лучший вариант для этого топика: нужно уточнить задачу у ТСа.



0



4023 / 3280 / 920

Регистрация: 25.03.2012

Сообщений: 12,263

Записей в блоге: 1

20.01.2022, 16:35

13

Боже, ну и консилиум…



0



Числовая последовательность

  1. Формулы числовых последовательностей
  2. Задание последовательностей описанием
  3. Рекуррентные формулы числовых последовательностей
  4. Свойства числовых последовательностей
  5. Примеры

п.1. Формулы числовых последовательностей

Запишем несколько первых чётных чисел и пронумеруем их:

2n

2

4

6

8

10

12

14

16

18

Этот ряд бесконечен, но, глядя на таблицу, его легко задать формулой: begin{gather*} mathrm{y_n = 2n, n in mathbb{N}} end{gather*}

Теперь, пользуясь формулой, для любого порядкового номера n мы сможем найти соответствующее чётное число.

Функцию натурального аргумента (mathrm{y_n=f(n), ninmathbb{N}}) называют числовой последовательностью.
Значения y1, y2, …, yn,… называют членами последовательности.
В символе yn число n называют индексом последовательности.

Для обозначения членов последовательности и их индексов можно использовать разные буквы: x1, x2, …, xm,…; a1, a2, …, ak,…; A1, A2, …, As,… и т.д.

Числовую последовательность как частный случай функции можно задавать аналитически (формулой), описанием (словесно), рекуррентно, графически и т.д.
Первые три способа используются чаще других.

Например:
Найти 1й, 3й и 4й члены последовательности, заданной формулой (mathrm{y_n=frac{n-1}{n+1}}) $$ mathrm{ y_1=frac{1-1}{1+1}=0, y_3=frac{3-1}{3+1}=frac12, y_4=frac{4-1}{4+1}=frac35 } $$

п.2. Задание последовательностей описанием

Последовательность, заданную формулой yn=2n, можно задать описанием как «последовательность чётных чисел».

Последовательность, заданную формулой (mathrm{y_n=frac{n-1}{n+1}}), можно задать описанием как «последовательность дробей, числитель которых на 1 меньше индекса, а знаменатель на 1 больше индекса последовательности».

Кроме того, существуют такие последовательности, которые можно задать только описанием.

Например:
1. Последовательность простых чисел:

2, 3, 5, 7, 11, 13, 17, 19, 23, 29, …

2. Последовательность десятичных приближений числа (mathrm{sqrt{3}}) по недостатку:

1; 1,7; 1,73; 1,732; 1,7320; 1,73205; 1,7302050; 1,73020508,…

п.3. Рекуррентные формулы числовых последовательностей

Важнейшим классом числовых последовательностей, которые широко используются в алгоритмах вычислительной математики, являются рекуррентные отношения (от латинского слова recurrere – возвращаться).

Рекуррентной формулой называют правило, по которому можно найти n-й член последовательности, если известны значения её предыдущих членов.

Например:
Найти y5, если y1 = 1, yn = 2yn-1 + 1
Проводим последовательные вычисления:
y2 = 2y1 + 1 = 3, y3 = 2y2 + 1 = 7, y4 = 2y3 + 1 = 15, y5 = 2y4 + 1 = 31
Интересно, что, если присмотреться, эту последовательность можно также задать аналитически: yn = 2n – 1.

п.4. Свойства числовых последовательностей

Числовую последовательность называют возрастающей, если каждый её член, начиная со второго, больше предыдущего:

y1 < y2 < y3 < … < yn < …

Например:
Последовательность квадратов натуральных чисел yn = n2 возрастающая:

1 < 4 < 9 < … < n2 < …

Числовую последовательность называют убывающей, если каждый её член, начиная со второго, меньше предыдущего:

y1 > y2 > y3 > … > yn > …

Например:
Последовательность дробей с индексом в знаменателе (mathrm{y_n=frac1n}) – убывающая: $$ 1gtfrac12gtfrac13gt…gtfrac1ngt… $$

Числовую последовательность называют ограниченной сверху, если существует такое число M, что для любого члена последовательности выполняется неравенство

yn ≤ M

Например:
Последовательность отрицательных дробей с индексом в знаменателе (mathrm{y_n=-frac1n}) ограничена сверху числом M = 0: $$ -1lt 0, -frac12lt 0, -frac13lt 0,.., -frac1nlt 0, … $$

Числовую последовательность называют ограниченной снизу, если существует такое число M, что для любого члена последовательности выполняется неравенство

yn ≥ M

Например:
Последовательность дробей с индексом в знаменателе (mathrm{y_n=frac1n}) ограничена снизу числом M = 0: $$ -1gt 0, frac12gt 0, frac13gt 0,.., frac1ngt 0, … $$

Числовую последовательность называют ограниченной, если она ограничена сверху и снизу, т.е. существуют такие числа M и K, что для любого члена последовательности выполняется неравенство

M ≤ yn ≤ K или M ≥ yn ≥ K

Например:
Последовательность дробей с индексом в знаменателе (mathrm{y_n=frac1n}) ограничена: $$ 1gt frac12gt frac13gt … gt frac1ngt … gt 0 $$ Верхней границей является M = 1, нижней границей K = 0.

Числовую последовательность называют стационарной, если для любого члена последовательности выполняется равенство

yn = C

где C — некоторое число.

Например:
Последовательность (mathrm{y_1=1, y_n=y^2_{n-1} — 4y_{n-1}+4}) стационарна, т.к. begin{gather*} mathrm{ y_2=1-4+4=1, y_3=1-4+4=1,…}\ mathrm{ y_n=1, forall nin mathbb{N}} end{gather*}

п.5. Примеры

Пример 1. Найдите первые 4 члена последовательности, заданной формулой
a) (mathrm{y_n=frac{n^2+1}{2n-1}})

yn

$$ mathrm{ frac{1^2+1}{2-1}=2 } $$

$$ mathrm{ frac{2^2+1}{4-1}=frac53=1frac23 } $$

$$ mathrm{ frac{3^2+1}{6-1}=2 } $$

$$ mathrm{ frac{4^2+1}{8-1}=frac{17}{7}=2frac37 } $$

б) (mathrm{y_n=frac{2^n}{n^2}})

yn

$$ mathrm{ frac{2^1}{1^2}=2 } $$

$$ mathrm{ frac{2^2}{2^2}=1 } $$

$$ mathrm{ frac{2^3}{3^2}=frac89 } $$

$$ mathrm{ frac{2^4}{4^2}=1 } $$

Пример 2. Найдите первые 4 члена последовательности, заданной рекуррентной формулой
a) y1 = 3, yn = 3yn – 1

yn

3

3 · 3 – 1 = 8

3 · 8 – 1 = 23

3 · 23 – 1 = 68

б) y1 = 1, y2 = 2, yn = 2yn-1 + yn-2

yn

1

2

2 · 2 + 1 = 5

2 · 5 + 2 = 12

Пример 3*. Укажите какую-либо формулу для n-го члена числовой последовательности

а) 3, 5, 7, 9, …
Это – последовательность нечётных чисел, для которой:
yn = 2n + 1

б) 5, -5, 5, -5,…
Это – знакопеременная последовательность, для которой модуль всегда равен 5, а знак меняется. Изменение знака можно записать как степень (–1). Учитывая, что нечётные члены последовательности положительные, а чётные – отрицательные, получаем:
yn = (–1)n+1 · 5

в) (mathrm{frac{1}{1cdot 2}, frac{1}{2cdot 3}, frac{1}{3cdot 4},…})
Это – последовательность дробей, у которых в знаменателе произведение текущего индекса n на следующий индекс (n + 1):
(mathrm{y_n=frac{1}{n(n+1)}})

г) 2, 5, 10, 17, 26, 37, …
Заметим, что

5 — 2 = 3, 10 — 5 = 5, 17 — 10 = 7, 26 — 17 = 9, …

Каждый последующий член отличается от предыдущего на возрастающее нечётное число. Можем записать рекуррентную формулу:
y1 = 2, yn = yn-1 + (2n –1)

Пример 4*. Пифагор изучал последовательность «треугольных» чисел, которые можно задать следующими геометрическими фигурами:

Пример 4 и т.д.
Задайте эту последовательность 1) рекуррентной формулой; 2) аналитической формулой.

1) Запишем последовательность в явном виде, как это следует из чертежа: $$ mathrm{ y_1=1, y_2=underbrace{1}_{y_1}+2=3, y_3=underbrace{1+2}_{y_2}+3=6, y_4=underbrace{1+2+3}_{y_3}+4=10 } $$ Отсюда получаем следующую рекуррентную формулу: y1 = 1, yn = yn-1 + n

2) Для произвольного члена последовательности:

yn = 1 + 2 + 3 + … + (n — 2) + (n — 1) + n

Найдём эту сумму. Для этого запишем выражение наоборот:

yn = n + (n — 1) + (n — 2) + … + 3 + 2 + 1

И найдём сумму: begin{gather*} mathrm{ y_n+y_n=2y_n=(1+2+3+…+(n-2)+(n-1)+n)+ }\ mathrm{ +(n+(n-1)+(n-2)+…+3+2+1)= }\ mathrm{ =(1+n)+underbrace{(2+n-1)}_{=n+1}+ underbrace{3+n-2}_{=n+1}+…+underbrace{n-2+3}_{=n+1}+underbrace{n-1+2}_{=n+1}+(n+1)= }\ mathrm{ =n(n+1) } end{gather*} Получаем: (mathrm{2y_n=n(n+1)Rightarrow y_n=frac{n(n+1)}{2}}) – искомая аналитическая формула.
Ответ: 1) y1 = 1, yn = yn-1 + 2; 2) (mathrm{y_n=frac{n(n+1)}{2}})

Понятия не имею, что за смешанный способ вам нужен, но сумму этого ряда можно найти два раза взяв производную.

Пусть f(x) — ваш ряд. Тогда f'(x) = sum (-1)^n x^(2n-2) / (2n+1)

Чтобы совсем избавиться от знаменателя надо бы, чтобы степень была 2n+1. Можно этого добиться, домножив все на x^3. Потом можно опять взять производную.

(x^3 f'(x))’ = sum (-1)^n x^2n = sum (-x^2)^n = 1/(1+x^2)

Теперь назад проинтегрировав это можно получить:
x^3 f'(x) = arctg(x)+C

При x=0 слева 0 — значит C=0.

f'(x) = arctg(x) / x^3

Отсюда можно найти f'(x): Зайдите на wolframalpha и введите integrate arctg(x)/x^3 dx (не могу дать прямую ссылку с запросом на wolfram, потому что мат-фильтр почему-то срабатывает на ссылку и не дает отправить ответ).

Чтобы найти константу, придется подставить, например, x=1 и найти сумму ряда a_n = (-1)^n/(4N^2-1). Это какой-то известный сходящийся рад, похоже. Опять, посмотрите на wolframalpha, введите там sum (-1)^n/(4*n^2-1), n=0 to infinity. В итоге получится, что там константа тоже 0.

Вот и получится, что f(x) =- (x^2 * arctan(x) + arctan(x) + x) / (2x^2)

Понравилась статья? Поделить с друзьями:

Не пропустите также:

  • Как найти дело на сайте мирового суда
  • Как найти градусы по таблице брадиса
  • Как составить рисунок для вышивки крестом
  • Как найти победителя по комментариям
  • Как найти телефон дома если его спрятали

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии