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

Вычисление функций разложением в ряд Тейлора - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.77
Lizavetka
0 / 0 / 0
Регистрация: 04.04.2013
Сообщений: 13
04.04.2013, 21:06     Вычисление функций разложением в ряд Тейлора #1
Добрый всем вечер. Помогите пожалуйста с задачкой, если не сложно. Вот условие:
При некоторых заданных x, N и E, определяемых вводом, вычислить:
a)сумму N слагаемых заданного вида;
b)сумму тех слагаемых, которые по абсолютной величине больше Е.
Для случая b выполнить суммирование для двух значений Е, отличающихся на порядок, и при этом определить количество слагаемых, включенных в сумму. Сравнить результаты с точным значением функции, для которой данная сумма определяет приближенное значение при x, лежащем в интервале (-R, R).
arctg(x)= x - (x^3)/3 + (x^5)/5 - (x^7)/7 + (x^9)/9 ... (R = 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
49
50
51
#include <iostream>
#include <cmath>
 
using namespace std;
 
int main()
{
    setlocale (LC_ALL, "Russian");
    int zn, znak, i, x1;
    int n, g;
    float s, sl, e1, e2, tz, E,  ks, x, ch;     
    cout << " n = ";
    cin >> n;    
    cout << "Введите x от 1 до -1 ";
    cin >> x;
    cout << "Введите e1 ";
    cin >> e1;
    cout << "Введите e2 ";
    cin >> e2;
    s = 0; ch = 1/x; zn = -1; znak = -1; ks = 0; E = e1 + e2;
    for (i = 0; i <= n; i++)
    {
    {
        ch = x*x;       
         znak = znak * (-1);
           zn = zn  + 2;
            sl = ch/zn;
              s = s + znak * sl;      
      
    
    
        
        {
            while (abs(sl) > E) 
    {
        ch = x*x;       
         znak = znak * (-1);
           zn = zn  + 2;
            sl = ch/zn;
              s = s + znak * sl;
        }
              ks = ks + 1;
    
    }
    }
cout << "Сумма слагаемых заданного вида" << s << endl;
cout << "Точное значение функции" << atan(x) << endl;
cout << "Количество слагаемых равно " << ks <<endl;
 
system ("pause");
}
Сумма слагаемых заданного вида должна совпадать с точным значением функции, но почему-то не совпадает, помогите пожалуйста исправить ошибку. Спасибо заранее
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.04.2013, 21:06     Вычисление функций разложением в ряд Тейлора
Посмотрите здесь:

C++ Вычисление функции с разложением в ряд Тейлора
C++ Вычисление Arctg(x) разложением в ряд Тейлора
Вычисление cosh разложением в ряд Тейлора C++
Вычисление функции разложением в ряд Тейлора C++
C++ Вычисление функций разложением в ряд Тейлора
Вычисление Arsh(x) разложением в ряд Тейлора C++
C++ Вычисление функции cos(x) разложением в ряд Тейлора
C++ Вычисление функции разложением в ряд Тейлора

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
johnnydagger
0 / 0 / 0
Регистрация: 25.12.2014
Сообщений: 1
25.12.2014, 21:12     Вычисление функций разложением в ряд Тейлора #2
Lizavetka, Привет, поможешь написать программу вроде этой?
zss
Модератор
Эксперт С++
 Аватар для zss
5953 / 5558 / 1787
Регистрация: 18.12.2011
Сообщений: 14,204
Завершенные тесты: 1
25.12.2014, 22:02     Вычисление функций разложением в ряд Тейлора #3
Вычисление функций разложением в ряд Тейлора.
Yandex
Объявления
25.12.2014, 22:02     Вычисление функций разложением в ряд Тейлора
Ответ Создать тему
Опции темы

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