Форум программистов, компьютерный форум CyberForum.ru

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

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

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

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

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

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

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

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

Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2010, 10:43     Бесконечное суммирование
Посмотрите здесь:

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

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

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

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

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

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
solar_wind
756 / 747 / 42
Регистрация: 06.07.2009
Сообщений: 2,969
Завершенные тесты: 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;
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;
Спасибо, большое. А вы не могли бы полностью написать чтобы я хоть немного в обозначениях разобрался а то я туплю (((
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
13.12.2010, 11:42     Бесконечное суммирование #4
vitaly1981, помойму для возведения в степень существует функция pow!!!
solar_wind
756 / 747 / 42
Регистрация: 06.07.2009
Сообщений: 2,969
Завершенные тесты: 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;
А отладить и дописать попробуй сам, фактически самое основное я уже написал!
Dimaskorik
0 / 0 / 0
Регистрация: 29.09.2010
Сообщений: 28
13.12.2010, 11:50  [ТС]     Бесконечное суммирование #6
Цитата Сообщение от MILAN Посмотреть сообщение
vitaly1981, помойму для возведения в степень существует функция pow!!!
Да это я с лёгкостью в случае чего могу исправить )))) Мне главное основное ))))))
solar_wind
756 / 747 / 42
Регистрация: 06.07.2009
Сообщений: 2,969
Завершенные тесты: 1
13.12.2010, 11:53     Бесконечное суммирование #7
Dimaskorik, да, возведение в степень кажется через pow() нужно делать

Добавлено через 3 минуты
И еще в первом варианте я знак не в ту сторону поставил, должно быть:
while (f1>eps)
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);
^ - это побитовое исключающее или, а не возведение в степерь
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.12.2010, 12:06     Бесконечное суммирование
Еще ссылки по теме:

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

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

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

Суммирование в структуре - C++
Всех приветствую,начинаю изучать С++ и вот встала такая задачка,думаю второй день над ней,решил спросить у знатоков! Надо найти все...

mpi суммирование - C++
Привет! Такой вопрос. Никак не могу додуматься до реализации такого фрагмента кода. Есть несколько потоков, для каждого из них есть...


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

Или воспользуйтесь поиском по форуму:
Dimaskorik
0 / 0 / 0
Регистрация: 29.09.2010
Сообщений: 28
13.12.2010, 12:06  [ТС]     Бесконечное суммирование #9
Цитата Сообщение от reich Посмотреть сообщение

^ - это побитовое исключающее или, а не возведение в степерь
В начале правильно сказали я это отметил в формуле как степень просто.
Yandex
Объявления
13.12.2010, 12:06     Бесконечное суммирование
Ответ Создать тему
Опции темы

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