Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
b0nny
5 / 3 / 2
Регистрация: 11.11.2013
Сообщений: 349
#1

Вычисление суммы n членов ряда

30.06.2014, 20:34. Просмотров 781. Ответов 15
Метки нет (Все метки)

Вычисление суммы n членов ряда
http://www.cyberforum.ru/cgi-bin/latex.cgi?\sin(x)+\frac{\cos(3x)}{9}+\frac{\cos(5x)}{25}+...
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2014, 20:34
Ответы с готовыми решениями:

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

Вычисление суммы членов ряда
Составить программу по вычислению суммы членов ряда: ...

Вычисление суммы n членов ряда cos(nx)/n
Составить блок-схему алгоритма и программу вычисления суммы n членов ряда...

Вычисление суммы первых N членов ряда и запись результатов в файл
Помогите пожалуйста. Очень надо:))) Написать программу, которая вычисляет...

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

15
zss
Модератор
Эксперт С++
7059 / 6604 / 4179
Регистрация: 18.12.2011
Сообщений: 17,405
Завершенные тесты: 1
30.06.2014, 21:25 #2
C++
1
2
3
4
5
6
7
8
double x,sum=sin(x),an=1.;
cin>>x;
for(int i=3;an>1e-10;i+=2)
{
    an=1./(i*i);
    sum+=cos(i*x)*an;
}
cout<<sum;
0
ValeryS
Модератор
7210 / 5473 / 681
Регистрация: 14.02.2011
Сообщений: 18,514
30.06.2014, 21:27 #3
zss,
не поторопился?
сначала вычисляешь синус
Цитата Сообщение от zss Посмотреть сообщение
double x,sum=sin(x),an=1.;
а потом вводишь аргумент
Цитата Сообщение от zss Посмотреть сообщение
cin>>x;
2
Bend3r
149 / 136 / 35
Регистрация: 29.07.2012
Сообщений: 709
30.06.2014, 21:31 #4
Странно, вы сначала объявляете переменную х, и тут-же вычисляете синус от х, не инициализируя ее.
0
zss
Модератор
Эксперт С++
7059 / 6604 / 4179
Регистрация: 18.12.2011
Сообщений: 17,405
Завершенные тесты: 1
30.06.2014, 21:32 #5
C++
1
2
3
4
5
6
7
8
double x,sum,an=1.;
cin>>x;sum=sin(x);
for(int i=3;an>1e-10;i+=2)
{
    an=1./(i*i);
    sum+=cos(i*x)*an;
}
cout<<sum;
0
b0nny
5 / 3 / 2
Регистрация: 11.11.2013
Сообщений: 349
30.06.2014, 21:38  [ТС] #6
А можно объяснить или по проще код?
an=1. , 1e-10 - в первый раз вижу, не понимаю.

Мне ещё как бы n вводить кроме x...
0
zss
Модератор
Эксперт С++
7059 / 6604 / 4179
Регистрация: 18.12.2011
Сообщений: 17,405
Завершенные тесты: 1
30.06.2014, 21:51 #7
Лучший ответ Сообщение было отмечено b0nny как решение

Решение

an>1e-10 означает, что суммируем до тех пор, пока очередное слагаемое не станет
достаточно малым (меньше чем http://www.cyberforum.ru/cgi-bin/latex.cgi?{10}^{-10})
Если надо только N членов, то замените условие на i<=N*2 (*2 т.к. цикл идет с шагом 2)
C++
1
2
3
4
5
6
7
8
9
double x,sum,an=1.;
int N=100;
cin>>x;sum=sin(x);
for(int i=3;i<=N*2;i+=2)
{
    an=1./(i*i);
    sum+=cos(i*x)*an;
}
cout<<sum;
1
ValeryS
Модератор
7210 / 5473 / 681
Регистрация: 14.02.2011
Сообщений: 18,514
30.06.2014, 21:56 #8
Цитата Сообщение от zss Посмотреть сообщение
то замените условие на i<=N*2
лишнее это
i нечетное значит никогда не будет равно N*2
следовательно достаточно i<N*2
0
b0nny
5 / 3 / 2
Регистрация: 11.11.2013
Сообщений: 349
30.06.2014, 22:03  [ТС] #9
Ввёл x=2, шаг n=2 => S=1.015...
Разве не -0,34... должно получаться?
0
Kerry_Jr
Эксперт PHP
2210 / 2006 / 940
Регистрация: 14.05.2014
Сообщений: 5,869
Записей в блоге: 1
Завершенные тесты: 5
30.06.2014, 22:06 #10
Цитата Сообщение от zss Посмотреть сообщение
int N=100;
А почему бы N тоже не вводить с клавиатуры?
0
b0nny
5 / 3 / 2
Регистрация: 11.11.2013
Сообщений: 349
30.06.2014, 22:07  [ТС] #11
Kerry_Jr, это я сделал...
0
ValeryS
Модератор
7210 / 5473 / 681
Регистрация: 14.02.2011
Сообщений: 18,514
30.06.2014, 22:09 #12
b0nny, ты учитываешь что sin cos считаются в радианах а не в градусах
1
b0nny
5 / 3 / 2
Регистрация: 11.11.2013
Сообщений: 349
30.06.2014, 22:11  [ТС] #13
ValeryS, нет, я не вижу этого. Не понимаю...
0
ValeryS
Модератор
7210 / 5473 / 681
Регистрация: 14.02.2011
Сообщений: 18,514
30.06.2014, 22:14 #14
Цитата Сообщение от b0nny Посмотреть сообщение
нет, я не вижу этого.
А что ты должен увидеть?
Цитата Сообщение от b0nny Посмотреть сообщение
Не понимаю...
чем градусы от радианов отличаются?
в полном круге 360 градусов или 2*Пи радиан
0
b0nny
5 / 3 / 2
Регистрация: 11.11.2013
Сообщений: 349
30.06.2014, 22:33  [ТС] #15
Ааа... Я код не правильно формулу написал вместо sin(x) должен быть cos(x). Теперь что-то более похожее.

Добавлено через 11 минут
Буду переводить код в pascal an=1. так там и записывается? Просто я не видел такого ещё с точкой.
0
ValeryS
Модератор
7210 / 5473 / 681
Регистрация: 14.02.2011
Сообщений: 18,514
30.06.2014, 22:55 #16
Цитата Сообщение от b0nny Посмотреть сообщение
Просто я не видел такого ещё с точкой.
это обозначение чисел с плавающей точкой( дробной)
1. то же самое что 1.0
применяется в Си Фортране насчет Паскаля не уверен, но по моему, можно
1
30.06.2014, 22:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.06.2014, 22:55

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

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

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru