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

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

Войти
Регистрация
Восстановить пароль
 
Lacri
#1

Ряд Тейлора - C++

19.11.2012, 22:33. Просмотров 674. Ответов 1
Метки нет (Все метки)

Читал уже другие темы на этом форуме, посвященные этой штуке. Пробовал делать по "подсказкам" - результаты под спойлером. Ничего не получается.
Задали решить задачу. Буду благодарен за любые подсказки или исправления.
Заранее спасибо.


Кликните здесь для просмотра всего текста
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
36
37
38
39
40
41
#include <iostream>
#include <math.h>
using namespace std;
int main ()
    {
    const int max = 500;
    double Xstart,Xend,Xd,sum,e,chislo;
    int c;
    bool done;
    cout << "Vvedite Xnach, Xkon, Xd, to4nost e" << endl;
    cin >> Xstart >> Xend >> Xd >> e;
    cout <<"               Tablica zna4eniy                 "<< endl;
    cout <<"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"<< endl;
    cout <<"  X        /   Zna4enie funckci      /    kol.  "<< endl;
    for (double i=Xstart; i<=Xend; i+=Xd)
        {
            c = 0;
            sum = i;
            done = true;
            chislo = i;
        for (int n=1; fabs(chislo)>e; n++)
            {
                c++;
                chislo*=(pow(2.0*i,2.0*n+1.0))/(2.0*n+1.0);
                sum+=chislo;
            if (n>max)
                {
                cout << "ryad rashoditsya" << endl;
                done = false;
                break;
                }
            }
            sum*=2.0;
        if (done)
            {
            cout << i << "                 " << sum << "                    " << c << endl;
            }
 
        }
    return 0;
    }
Миниатюры
Ряд Тейлора   Ряд Тейлора  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2012, 22:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ряд Тейлора (C++):

Вычисление приближенного значения tan(x) через ряд Тейлора/ряд Маклорена - C++
Привет, CF. Задача: Вычисление приближенного значения tan(x) через ряд Тейлора/ряд Маклорена Проблема: не совпадают результаты...

вычислить функцию с помощью разложения в ряд.(Ряд Тейлора) - C++
Нужно написать программу по Ряду Тейлора.

Вычисление функции через разложение в ряд (Ряд Тейлора) - C++
Привет всем. Задание такого плана: Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора,...

Разложение ряд в ряд Тейлора.Переделать программу - C++
Написать программу вычисления и вывода на экран в виде таблицы значений функции, заданной с помощью ряда Тейлора, на интервале от Хзнач до...

ряд Тейлора - C++
Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, от xнач до xкон с шагом dx с точностью ε....

Ряд Тейлора - C++
Добрый день. Помогите пожалуйста разобраться с задачей, я просто не могу понять что от меня требуется. &quot;Вычислить и вывести на экран...

1
bychevoz
1 / 1 / 0
Регистрация: 16.11.2012
Сообщений: 27
20.11.2012, 22:26 #2
C++
1
2
3
         c++;
                chislo*=(pow(2.0*i,2.0*n+1.0))/(2.0*n+1.0);
                sum+=chislo;
мне кажется, или тут надо
C++
1
sum+=chislo=(pow(i,2.0*n+1.0))/(2.0*n+1.0);
Добавлено через 1 минуту
да поможет вам это

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
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <math.h>
#include <iostream>
using namespace std;
 
const double e = 0.0001, n = 5, step = 1/n;
int    fact    (int);            // Вычисление факториала
double rowsum  (double);         // Вычисление суммы ряда в точке а для n членов
double rowsum_epsilon  (double); // Вычисление суммы ряда в точке а для точности e
double truefunc(double);         // Вычисление компьютером функции в точке а 
int main()
{
    cout<<n+1<<" steps: "<<endl;
    for (double i = 0; i <= 1; i += step) 
        cout<<"x = "<<i<<": "<<rowsum(i)<<endl;
    cout<<endl<<e<<" accuracy: "<<endl;
    for (double i = 0; i <= 1; i += step) 
        cout<<"x = "<<i<<": "<<rowsum_epsilon(i)<<endl;
    cout<<endl<<"Computer result: "<<endl;
    for (double i = 0; i <= 1; i += step) 
        cout<<"x = "<<i<<": "<<truefunc(i)<<endl;
    cin.get();
}
 
int fact(int number)
{
    return (number == 0) ? 1 : number * fact(number - 1); 
}
 
double rowsum(double x)
{
    double sum = 0;
    for (int i = 0; i <= n; i++) sum += pow(x, 2*i) * (2*i + 1) / fact(i);
    return sum;
}
 
double rowsum_epsilon(double x)
{
    double sum = 0, el = 0;
    int i=0;
    do sum += el = pow(x, 2*i) * (2*i + 1) / fact(i);
    while ((el > e)&&(++i));
    return sum;
}
 
double truefunc(double x)
{
    return (1 + 2*pow(x, 2))*exp(pow(x,2));
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2012, 22:26
Привет! Вот еще темы с ответами:

Ряд тейлора - C++
Помогите плиз написать программу на языке С/С++. :wall: Вычислить и вывести на экран в виде таблицы значение функции,заданной с помощью...

Ряд Тейлора - C++
Доброе время суток.Помогите кодом задачи если это возможно Пояснение к задаче:если требуемая точность достигнута при меньшем, чем 3, 5...

Ряд Тейлора - C++
Помогите с решением Редактор формул внизу страницы

Ряд тейлора - C++
Здравствуйте. Значения просчитанные по рекуррентной формуле и значения функции не сходятся. Задание приложено ниже. Пример входных...


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

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

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