Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/21: Рейтинг темы: голосов - 21, средняя оценка - 4.57
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2

Вычислить сумму ряда. Где-то напутал знаки или формула ряда не правильная. Посмотрите свежим взглядом.

20.01.2012, 10:22. Показов 4610. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет!
Пишу простую контрольную, не могу понять, то ли я где-то со знаками туплю, то ли формула не корректна.
Задание:
написать функцию вычисления суммы ряда. для диапазона значений 0.1 .. 0.9 и шага 0.1 изменения аргумента вычислить значения суммы ряда и контрольной функции, к которой он сходится, с точностью до 4 знаков после запятой.
Ряд: sin(x) - sin(2x) / 2+..+(-1)*n * sin(nx) / n
Контрольная ф-ция: x / 2
Мое решение:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream>
#include <cmath>
 
double series_sum(double, int = 1);
double chek_series_sum(double);
 
const double eps = 1E-4;
 
int main() 
{
    const double begin = 0.1, end = 0.9, step = 0.1;
    double calculated_sum, real_sum;
 
    for (double x = begin; x <= end; x += step) {
        calculated_sum = series_sum(x);
        real_sum = chek_series_sum(x);
        std::cout << "Calculated amount of series with x = " << x << ": " << calculated_sum << std::endl
                  << "Real value: " <<real_sum<<std::endl;
    }   
    return 0;
}
 
double series_sum(double x, int n)
{
    double step_val = pow(-1., n) * sin(n * x) / n;
    if (abs(step_val) <= eps) {
        return step_val;
    }
    return step_val + series_sum(x, ++n);
}
 
double chek_series_sum(double x)
{
    return x/2.;
}
Вывод:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Calculated amount of series with x = 0.1: -0.0498659
Real value: 0.05
Calculated amount of series with x = 0.2: -0.100496
Real value: 0.1
Calculated amount of series with x = 0.3: -0.150405
Real value: 0.15
Calculated amount of series with x = 0.4: -0.200353
Real value: 0.2
Calculated amount of series with x = 0.5: -0.249524
Real value: 0.25
Calculated amount of series with x = 0.6: -0.298302
Real value: 0.3
Calculated amount of series with x = 0.7: -0.350978
Real value: 0.35
Calculated amount of series with x = 0.8: -0.398703
Real value: 0.4
Calculated amount of series with x = 0.9: -0.448706
Real value: 0.45
Т.е. считает правильно, только знаки не совпадают. Не могу увидеть проблему, посмотрите свежим взглядом.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.01.2012, 10:22
Ответы с готовыми решениями:

Вычислить сумму ряда, где m и n заданные числа
Вычислить S=\sum_{i=m}^{n} (2*i), где m и n заданные числа. Помогите пожалуйста, если кто знает. У меня с рядами плоховато было в вышмате.

Вычислить сумму ряда (Ошибка, переполнение. Где?)
Вычисление суммы ряда. Program fuuuuu; Const e=0.0001; Var a,s,f,x:real; k:integer; Function F1(n:real;m:byte):real; Var...

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

4
317 / 268 / 61
Регистрация: 12.10.2011
Сообщений: 434
20.01.2012, 11:03
Если это ряд Фурье
https://www.cyberforum.ru/cgi-bin/latex.cgi?x=\sum_{n=1}^{\propto }\frac{2}{n}{(-1)}^{n+1}sin(nx)
,то соответственно в 25 строчке измени pow(-1., n) на pow(-1., n+1)
1
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
20.01.2012, 11:13  [ТС]
golatin, спасибо) Я в первом посте неправильно ряд написал, там -1 в степени n, а не умножить на n. Все равно это дела не меняет, правильно так, как ты показал. Буду пинать препода)

Не по теме:

На сессии мозги закипают, подобных ошибок уже не вижу%-)

0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
20.01.2012, 11:39
Kastaneda, pow тут не очень разумно использовать, знак зависит только от чётности n.
1
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
20.01.2012, 13:45  [ТС]
Цитата Сообщение от silent_1991 Посмотреть сообщение
Kastaneda, pow тут не очень разумно использовать, знак зависит только от чётности n.
Да, логично) Последнее время вообще перестал думать, когда пишу. Расслабился что-то
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.01.2012, 13:45
Помогаю со студенческими работами здесь

Вычислить сумму членов ряда с точностью до члена ряда, меньшей E
Вычислить сумму членов ряда: Z=x/(x+1)!+x^2/(x+2)!+x^3/(x+3)!+... с точностью до члена ряда, меньшей E. Добавлено через 26 секунд ...

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

Вычислить сумму членов бесконечного ряда с точностью до члена ряда
Вычислить сумму членов бесконечного ряда с точностью до члена ряда, меньшего заданного ξ для |z| ≤ 1 x=(z+2)^2/2! - (z+2)^3/3!...

Вычислить сумму ряда, используя дифференцирование и интегрирование степенного ряда
5/2-5^2/3*1!+5^3/4*2!...+(-1)^n*5^n+1/(n+2)*n!+

Вычислить сумму 100 слагаемых ряда если n-ый член ряда задается выражением
Вычислить сумму 100 слагаемых ряда если n-ый член ряда задается выражением: А энное равно, в числителе cos((2n-1)x), в знаменателе (2n-1)...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru