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

Вычислить сумму бесконечного ряда c точностью e=0.0001

12.02.2020, 08:47. Показов 4409. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сравнить полученное значение с cos(x)
Миниатюры
Вычислить сумму бесконечного ряда  c точностью e=0.0001  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.02.2020, 08:47
Ответы с готовыми решениями:

Вычислить сумму бесконечного ряда c точностью e=0.0001

Вычислить с точностью (эпсилант) сумму бесконечного ряда.
1)используя смешанный способ вычисления члена ряда, 2)используя рекуррентную формулу для...

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

Найти сумму ряда с точностью 0,0001
Найти сумму ряда с точность 0,0001 Аn=lg(n!)*e^(-n/Koren(n))

14
Заблокирован
12.02.2020, 09:29 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
double my_cos(double x)
{
    x=modf(x/2/M_PI,&x)*2*M_PI;
    double el=1, f=0;
    for(int i=2; fabs(el)>=1e-4; i+=2)
    {
        f+=el;
        el*=-x*x/(i-1)/i;
    }
    return f;
}
void main()
{
    double x;
    cout<<"x: ";
    cin>>x;
    cout<<my_cos(x)<<"  "<<cos(x)<<endl;
    system("pause");
}
0
0 / 0 / 0
Регистрация: 28.11.2019
Сообщений: 73
12.02.2020, 10:20  [ТС] 3
Компилятор выдает ошибку,нужно сделать через while или do while
0
Заблокирован
12.02.2020, 10:22 4
Цитата Сообщение от peleha Посмотреть сообщение
Компилятор выдает ошибку
???
0
0 / 0 / 0
Регистрация: 28.11.2019
Сообщений: 73
12.02.2020, 10:22  [ТС] 5
Вот пример
Миниатюры
Вычислить сумму бесконечного ряда  c точностью e=0.0001  
0
2012 / 1118 / 473
Регистрация: 11.10.2018
Сообщений: 5,707
12.02.2020, 10:30 6
Цитата Сообщение от Holiday13 Посмотреть сообщение
C++
1
x=modf(x/2/M_PI,&x)*2*M_PI;
- А это зачем?
0
Заблокирован
12.02.2020, 10:33 7
Цитата Сообщение от FFPowerMan Посмотреть сообщение
А это зачем?
а проверить x=1000? можно и так x=x-int(x/2/M_PI)*2*M_PI;
0
2012 / 1118 / 473
Регистрация: 11.10.2018
Сообщений: 5,707
12.02.2020, 10:35 8
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
#include <iostream>
#include <cstdlib>
#include <cmath>
using namespace std;
 
double my_cos(double x)
{
    x=modf(x/2/M_PI,&x)*2*M_PI;
    double el=1, f=0;
    for(int i=2; fabs(el)>=1e-4; i+=2)
    {
        f+=el;
        el*=-x*x/(i-1)/i;
    }
    return f;
}
 
int main()
{
    double x;
    cout<<"x: ";
    cin>>x;
    cout<<my_cos(x)<<"  "<<cos(x)<<endl;
 
    //system("pause");
    return 0;
}
Добавлено через 1 минуту
Цитата Сообщение от Holiday13 Посмотреть сообщение
а проверить x=1000? можно и так x=x-int(x/2/M_PI)*2*M_PI;
- Вы проверяете |x| < 1000? А какой принцип действия у этих 2-ух вариантов?
0
Заблокирован
12.02.2020, 10:45 9
x=x mod 2*https://www.cyberforum.ru/cgi-bin/latex.cgi?\pi

Добавлено через 6 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
double my_cos(double x)
{
    x=x-int(x/2/M_PI)*2*M_PI;
    double el=1, f=0;
    int i=0;
    while(fabs(el)>=1e-4)
    {
        f+=el;
        i+=2;
        el*=-x*x/(i-1)/i;
    }
    return f;
}
0
2012 / 1118 / 473
Регистрация: 11.10.2018
Сообщений: 5,707
12.02.2020, 11:28 10
Ну зачем поделить на 2*M_PI я понял, а зачем потом остаток снова умножать на 2*M_PI?

Добавлено через 7 минут
А, вот щас понял.
0
0 / 0 / 0
Регистрация: 28.11.2019
Сообщений: 73
13.02.2020, 12:21  [ТС] 11
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
#include <iostream>
#include <cmath>
using namespace std;
 
int main(){
    int znak =-1;
    long double   s=1,eps=0.000001,term=5*eps,numenator,x,factorial=1, n = 2;
    do{
        cout<<"Input -1000<x<1000=";
        cin>>x;
    }while(abs(x)>=1000);
    numenator=1;
    while (abs(term)>eps) {
        
        factorial*= n*(n-1);
        numenator *=x*x;
        term = numenator*znak/factorial;
        s+=term;
        n+=2;
        znak=-znak;
    }
    cout << cos(x) << " " << s;
    return 0;
}
Допустим если ввожу число 3,он выводит равные значения.
Но если ввожу больше,уже идут маленькие различия.
Если вводить 900,то выводит -nan
Задание вот Вычислить сумму бесконечного ряда c точностью e=0.0001
Изображения
 
0
2012 / 1118 / 473
Регистрация: 11.10.2018
Сообщений: 5,707
13.02.2020, 12:56 12
А Вам как советовали сделать вначале?
Вот так
Вычислить сумму бесконечного ряда c точностью e=0.0001
Цитата Сообщение от Holiday13 Посмотреть сообщение
C++
1
x=modf(x/2/M_PI,&x)*2*M_PI;
Видимо только для маленьких значений приспособлено.
0
Модератор
2284 / 1618 / 880
Регистрация: 16.10.2013
Сообщений: 4,784
Записей в блоге: 12
13.02.2020, 12:56 13
Цитата Сообщение от peleha Посмотреть сообщение
Если вводить 900,то выводит -nan
совсем неудивительно. Факториал быстрорастущая функция и происходит переполнение
0
Заблокирован
13.02.2020, 13:04 14
в прошлом тысячелетии я видел график косинуса и понял: x%=360o
0
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
13.02.2020, 14:37 15
peleha, рекуррентную формулу нужно написать сразу для всей дроби, а не отдельно для числителя и знаменателя. Иначе будет переполнение, как уже написали.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.02.2020, 14:37
Помогаю со студенческими работами здесь

Выч. сумму бесконечного ряда с точностью ep
Ребят помогите пожалуйста( очень научиться хочется и понять, задали вот такое задание. Дано: x0, h,...

Посчитать сумму бесконечного ряда с заданной точностью
Помогите написать программу на С++. необходимо посчитать сумму бесконечного ряда с заданной...

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

Найти сумму бесконечного ряда с заданной точностью
Народ помогите пожалуйста запрограммировать.:'( Вот что у меня получается... // #include...


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

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

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