0 / 0 / 0
Регистрация: 09.12.2018
Сообщений: 7
1

Вычисление суммы бесконечного ряда с заданной точностью

30.12.2018, 21:23. Показов 3267. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
точность e=0.005
x=0.62

Вывод нужно организовать так, но как это сделать не знаю, помогите
a(2)=величина 2 го элемента ряда
a(3)=величина 3 го элемента ряда
a(4)=величина 4 го элемента ряда
a(5)=величина 5 го элемента ряда
a(6)=величина 6 го элемента ряда
s=сумма ряда

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
S=\frac{2}{3}\sin 2x-\frac{3}{8}\sin 3x+...+\frac{(-1)^nn}{n^2-1}\sin nx+...<br />
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.12.2018, 21:23
Ответы с готовыми решениями:

Вычисление суммы бесконечного ряда с заданной точностью
Вычислить сумму бесконечного ряда с заданной точностью ε = 0,5 * 10-4 ∞ Σ...

Вычислить значение суммы бесконечного ряда с заданной точностью
Помогите пожалуйста! Дай Бог вам здоровья! Вычислить значение суммы бесконечного ряда с заданной...

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

Составить программу для вычисления значения суммы бесконечного ряда с заданной точностью
Определить число членов ряда,вошедших в сумму.Исходные данные 0.62,точность вычисления 10^-4....

5
Модератор
9972 / 5336 / 3329
Регистрация: 17.08.2012
Сообщений: 16,264
31.12.2018, 03:39 2
Дурацкое задание. Но, попробуем...

Разобьём каждый член Вашего ряда на два сомножителя: рациональную дробь и синус чего-то там.

Про ряд, составленный из первых сомножителей, известно, что он сходится (в том числе, и по признаку Лейбница):

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
\sum_{n=2}^{\infty }\frac{(-1)^nn}{n^2-1}=\ln 2-\frac{1}{4}<br />

Второй сомножитель в члене ряда по модулю не превосходит единицу, поскольку это синус. Казалось бы, члены самого ряда от этого только уменьшаются. Но... Не всё так просто. От этого сомножителя зависит знак члена ряда, и, кроме того, модуль этого сомножитель может быть меньше погрешности при каком-либо nx. К чему я это? А вот к чему. Во-первых, совсем не очевидно, что Ваш ряд сходится. Хотя, ладно, он сходится, но доказательства приводить не стану. Во-вторых, есть подводный камень: по признаку Лейбница, сумма ряда будет вычислена с заданной точностью, когда любой отброшенный член ряда по модулю не превосходит эту самую заданную точность. Обычно применяют упрощённый критерий: сумма ряда считается вычисленной с заданной точностью, когда первый отброшенный член ряда по модулю не превосходит эту самую заданную точность. Очевидно, что из-за этого самого синуса по упрощённому критерию может быть принято неверное решение о окончании вычислений. И что же делать? А не знаю, влом выяснять. Но есть одно предложение: если модуль первого сомножителя члена ряда менее заданной точности, то все остальные члены ряда (целиком) по модулю гарантированно меньше точности вычислений. Поэтому считаю разумным применить следующий критерий окончания вычислений:

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
\begin{vmatrix}\frac{(-1)^nn}{n^2-1}\end{vmatrix}\,<\,\varepsilon<br />

Искать рекуррентное соотношение для членов данного ряда не имеет смысла, проще вычислять члены ряда непосредственно.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
const
  e = 0.005;
  x = 0.62;
var
  n: integer;
  a, b, z, s: real;
 
begin
  n := 2; {номер первого члена ряда}
  s := 0; {сумма пока равна 0}
  z := 1; {(-1)^2}
  repeat
    b := n / (n * n - 1); {первый множитель}
    a := z * b * sin(n * x); {член ряда целиком}
    writeln('a(', n, ') = ', a:9:6); {печать члена ряда}
    s := s + a; {складываем член ряда с суммой}
    inc(n); {следующий член ряда}
    z := -z {(-1)^n}
  until b < e; {вычисляем, пока первый множитель не станет меньше погрешности}
  writeln('s = ', s:0:6) {печатаем сумму}
end.
0
0 / 0 / 0
Регистрация: 09.12.2018
Сообщений: 7
31.12.2018, 08:01  [ТС] 3
Спасибо. А возможно ли решить эту задачу через массив?
0
Модератор
9972 / 5336 / 3329
Регистрация: 17.08.2012
Сообщений: 16,264
02.01.2019, 00:36 4
Простите, что? Это Вы шутите или издеваетесь? Вот ЭТО - через массив? Зачем? Какова цель этого несуразного деяния?
0
0 / 0 / 0
Регистрация: 09.12.2018
Сообщений: 7
07.01.2019, 18:03  [ТС] 5
Cyborg Drone,какие шутки, требование безумного препода) он тот еще извращенец
0
Модератор
9972 / 5336 / 3329
Регистрация: 17.08.2012
Сообщений: 16,264
11.01.2019, 01:40 6
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
const
  e = 0.005;
  x = 0.62;
var
  n: integer;
  b, z, s: real;
  a: array[2..201] of real;
 
begin
  n := 2; {номер первого члена ряда}
  s := 0; {сумма пока равна 0}
  z := 1; {(-1)^2}
  repeat
    b := n / (n * n - 1); {первый множитель}
    a[n] := z * b * sin(n * x); {член ряда целиком}
    writeln('a(', n, ') = ', a[n]:9:6); {печать члена ряда}
    s := s + a[n]; {складываем член ряда с суммой}
    inc(n); {следующий член ряда}
    z := -z {(-1)^n}
  until b < e; {вычисляем, пока первый множитель не станет меньше погрешности}
  writeln('s = ', s:0:6) {печатаем сумму}
end.
А что это преподаватель - извращенец? Может, это Вы ничего учить не желаете, судя хотя бы по тому, что пришли на форум за халявой? Ваш преподаватель, по крайней мере, умнее Вас, поскольку Вы у него учитесь. Правда, выучить, судя по всему, ничему он Вас не сможет, поскольку он хоть и знает программирование лучше, чем Вы, но, вероятно, знает недостаточно хорошо. Хотя, это не обязательно верно, особенно, если Вы относитесь к преподавателю предвзято.

Может быть, что Ваш преподаватель не поймёт моего правильного решения, а Вы ему ничего не сможете объяснить. Тогда вот Вам стандартный и неправильный вариант программы, но, если то, что Вы говорите про преподавателя - правда, то именно этот вариант и подойдёт:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
const
  e = 0.005;
  x = 0.62;
var
  n: integer;
  z, s: real;
  a: array[2..51] of real;
 
begin
  n := 2; {номер первого члена ряда}
  s := 0; {сумма пока равна 0}
  z := 1; {(-1)^2}
  repeat
    a[n] := z * n / (n * n - 1) * sin(n * x); {член ряда целиком}
    writeln('a(', n, ') = ', a[n]:9:6); {печать члена ряда}
    s := s + a[n]; {складываем член ряда с суммой}
    inc(n); {следующий член ряда}
    z := -z {(-1)^n}
  until abs(a[n - 1]) < e; {вычисляем, пока первый множитель не станет меньше погрешности}
  writeln('s = ', s:0:6) {печатаем сумму}
end.
0
11.01.2019, 01:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.01.2019, 01:40
Помогаю со студенческими работами здесь

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

Вычисление с заданной точностью суммы ряда
Написать программу на паскале для вычисления с заданной точностью данную сумму (точность 2 знака...

Вычисление суммы ряда с заданной точностью
Необходимо вычислить сумму ряда с заданной точностью. Полученное значение проверить с помощью...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru