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

Задача по программированию в С++ (ряд Тейлора) - C++

Восстановить пароль Регистрация
 
huran438
Сообщений: n/a
01.10.2013, 20:52     Задача по программированию в С++ (ряд Тейлора) #1
Указания:
При вычислении значения очередного члена ряда используйте значение предыдущего члена, для чего следует вручную получить соотношение вида
k(x,n) = A.i (x,n) / A.i-1(x,n);
Вычислении членов ряда, начиная со второго (а может и с третьего) следует выполнять по формуле:
Ai = Ai-1* k;
Это упростит вычисления, повысит их точность и позволит избежать возможного переполнения разрядной сетки сумматора ПК при вычислении факториалов и степеней.
Заданная точность обеспечивается суммированием членов ряда вплоть до слагаемого, абсолютное значение которого меньше заданной погрешности (0.000001).
При представления результата в виде таблицы для формирования строк используйте манипулятор setw.
Близость значений S(x) и Y(x) (отличие должно быть меньше 0.000001) во всем диапазоне значений х указывает на правильность их вычисления.




3. Составьте программу вычисления значения суммы Название: Без названия1.png
Просмотров: 171

Размер: 2.8 Кб
и функции Название: Без названия2.png
Просмотров: 174

Размер: 1.8 Кб в диапазоне от 0 до 1 с шагом h=0.2. Вычисление суммы ряда Тейлора производите с погрешностью, не превышающей 0.000001. Результат представить в виде таблицы (без рамок), которая содержит четыре строки со значениями x, Y(x), S(x)
и N, где N - номер последнего слагаемого.

и анологично

3. Составьте программу вычисления значения суммы Название: Без названия3.png
Просмотров: 171

Размер: 3.1 Кб
и функции Название: Без названия4.png
Просмотров: 171

Размер: 2.1 Кб в диапазоне от 0 до 1 с шагом h=0.2. Вычисление суммы ряда Тейлора производите с погрешностью, не превышающей 0.000001. Результат представить в виде таблицы (без рамок), которая содержит четыре строки со значениями x, Y(x), S(x)
и N, где N - номер последнего слагаемого.

Вот что получилось у меня:
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
                double x, s, y = 0, a, eps;
                int n;
                eps = 0.000001;
                cout << "x        ";
                cout << "Y(x)           ";
                cout << "S(x)           ";
                cout << "n        " << endl;
                for (x = 0; x <= 1; x += 0.2) {
                    a = 1;
                    s = 1;
                    n = 0;
                   y = exp(2 * x);
                    //y=(exp(x)+exp(-x))/2;
                    do {
 
                        //a=a*(x*x/((2*n+1)*(2*n+2)));       - тут собственно и вся проблема (в составлении формулы)
                        s = s + a;
                        n++;
                    }
                    while (a >= eps);
 
 
                    cout << setw(3) << setprecision(1) << left << x << "      ";
                    cout << fixed << setprecision(7) << left << y << "      ";
                    cout << fixed << setprecision(7) << left << s << "      ";
                    cout << n << endl;
 
                }
            }
                cout << "Продолжить работу? (y/n)";
                cin >> povtor;
Значения S и Y должны быть одинаковые)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.10.2013, 20:52     Задача по программированию в С++ (ряд Тейлора)
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 02:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru