Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.75
Dimaskorik
0 / 0 / 0
Регистрация: 29.09.2010
Сообщений: 28
#1

Бесконечное суммирование - C++

13.12.2010, 10:43. Просмотров 1152. Ответов 8
Метки нет (Все метки)

Получил задание по бесконечному суммированию но не как не могу разобраться как же это делается.
Вот то что нам дал препод чтобы разобраться в выполнении задания(во вложении объяснение выполнения но я не въехал)

Задание: написать функцию которая для заданного аргумента x и заданной точности e
вычисляет значение функции Y(x)=F(x)=x-(x^3)/(3^2)+(x^5)/(5^2)-(x^7)/(7^2)...
как сумму членов бесконечного ряда.
Примечание: Сумма вычисляется с точностью до члена ряда, меньшего e. То есть суммирование следует закончить, как только будет получено очередное слогаемое, по модулю не привышающее e.

Очень нужно
0
Миниатюры
Бесконечное суммирование   Бесконечное суммирование   Бесконечное суммирование  

Бесконечное суммирование   Бесконечное суммирование   Бесконечное суммирование  

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2010, 10:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Бесконечное суммирование (C++):

Вычислить бесконечное суммирование - C++
Надо вычислить бесконечное суммирование с точностью "e", записать в таблицу полученные результаты. Ну вроде как я понял надо вводить...

Бесконечное чтение - C++
Доброго всем времени суток. Я уже давно рыскаю по гуглу, форуму и книгам, но меня все же мучит вопрос: а как вот так взять и прочитать из...

Бесконечное количество аргументов - C++
#include<iostream> #include<conio.h> using namespace std; void writeln(int count, ...) { int *p = &count; ...

Бесконечное считывание строки - C++
Здравствуйте! Столкнулся со странной проблемой...Есть функция,которая считывает данные из файла, там есть такой кусок кода: ...

Игра жизнь (бесконечное пространство) - C++
Надо сделать бесконечное пространство для игры "жизнь", примерно понимаю как это сделать, но что то не получается,надо в подпрограмму rules...

Проверка на бесконечное множество решений - C++
Написана проверка на бесконечность множества решений и решений не имеет для решения СЛАУ методом Гаусса. Проблема состоит в том, что когда...

8
solar_wind
757 / 748 / 42
Регистрация: 06.07.2009
Сообщений: 2,970
Завершенные тесты: 1
13.12.2010, 11:40 #2
Dimaskorik,
Что то типа этого должно быть:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
f=0;
f1=1;
znak=1;
step=1;
f1=znak*(x^step)/(step^2);
while (f1<eps)
{
f=f+f1;
step=step+2;
znak=-znak;
f1=znak*(x^step)/(step^2);
}
return f;
1
Dimaskorik
0 / 0 / 0
Регистрация: 29.09.2010
Сообщений: 28
13.12.2010, 11:42  [ТС] #3
Цитата Сообщение от vitaly1981 Посмотреть сообщение
Dimaskorik,
Что то типа этого должно быть:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
f=0;
f1=1;
znak=1;
step=1;
f1=znak*(x^step)/(step^2);
while (f1<eps)
{
f=f+f1;
step=step+2;
znak=-znak;
f1=znak*(x^step)/(step^2);
}
return f;
Спасибо, большое. А вы не могли бы полностью написать чтобы я хоть немного в обозначениях разобрался а то я туплю (((
0
MILAN
886 / 780 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
13.12.2010, 11:42 #4
vitaly1981, помойму для возведения в степень существует функция pow!!!
0
solar_wind
757 / 748 / 42
Регистрация: 06.07.2009
Сообщений: 2,970
Завершенные тесты: 1
13.12.2010, 11:49 #5
MILAN, да точно, я написал макет проги, а отлаживает пусть сам, надо же самому голову приложить к этому.


Dimaskorik,

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
//Итоговое значение функции
f=0;
//значение текущего члена ряда
f1=1;
//знак члена ряда
znak=1;
//степень члена ряда
step=1;
//считаем первый элемент, вообщем тут можно написать просто f1=х;
f1=znak*(x^step)/(step^2);
//начинаем цикл до тех пор пока текущий член ряда больше eps
while (f1>eps)
{
//добавляем член ряда в сам ряд
f=f+f1;
//степень меняем для следующего члена
step=step+2;
//знак меняем на противоположный
znak=-znak;
//считаем текущий член ряда
f1=znak*(x^step)/(step^2);
}
//возвращаем результат
return f;
А отладить и дописать попробуй сам, фактически самое основное я уже написал!
1
Dimaskorik
0 / 0 / 0
Регистрация: 29.09.2010
Сообщений: 28
13.12.2010, 11:50  [ТС] #6
Цитата Сообщение от MILAN Посмотреть сообщение
vitaly1981, помойму для возведения в степень существует функция pow!!!
Да это я с лёгкостью в случае чего могу исправить )))) Мне главное основное ))))))
0
solar_wind
757 / 748 / 42
Регистрация: 06.07.2009
Сообщений: 2,970
Завершенные тесты: 1
13.12.2010, 11:53 #7
Dimaskorik, да, возведение в степень кажется через pow() нужно делать

Добавлено через 3 минуты
И еще в первом варианте я знак не в ту сторону поставил, должно быть:
while (f1>eps)
1
reich
110 / 46 / 3
Регистрация: 03.09.2009
Сообщений: 112
13.12.2010, 11:59 #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
#include <iostream>
#include <cmath>
 
#define exp 2.7182818284590
 
double f( double x ){
    double n = 0, s = 0, prev = 0;
    int i = 1, c = 0;
    while ( abs( s ) < abs( exp ) ){
        prev = n;
        s = pow( x, (int)i ) / pow( (double)i, 2 );
        if ( ( ( ++c ) % 2 ) == 0 ){ n -= s; }
        else { n += s; }
        i += 2;
    }
    return prev;
}
 
int main(int argc, char *argv[]){
    double x = 0;
    std::cout << "Enter x: ";
    std::cin >> x;
    std::cout << f( x );
    return 0;
}
Цитата Сообщение от vitaly1981 Посмотреть сообщение
f1=znak*(x^step)/(step^2);
^ - это побитовое исключающее или, а не возведение в степерь
0
Dimaskorik
0 / 0 / 0
Регистрация: 29.09.2010
Сообщений: 28
13.12.2010, 12:06  [ТС] #9
Цитата Сообщение от reich Посмотреть сообщение

^ - это побитовое исключающее или, а не возведение в степерь
В начале правильно сказали я это отметил в формуле как степень просто.
0
13.12.2010, 12:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.12.2010, 12:06
Привет! Вот еще темы с ответами:

Бесконечное появление меню в консоли - C++
При попытке добавления записи через меню, меню начинает появляться в бесконечном количестве в консоли. Как исправить? Вроде проблема в...

Бесконечное выполнение одного и того же действия - C++
Аля Ваас! :-) А теперь к делу, есть код: #include &lt;iostream&gt; #include &quot;Windows.h&quot; using namespace std;

Написать цикл (перечисление от 10 до 0 повторялось бесконечное количество раз) - C++
Подскажите, что нужно дописать в программу,чтобы перечисление от 10 до 0 повторялось бесконечное количество раз (после нуля надо, чтобы a...

"Бесконечное" считывание из файла. ifstream; - C++
Суть такая, функция записывает в файл данные из моего списка, на каждую строку. вот эта функция: void outputFile(){ ...


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

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

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