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

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

Восстановить пароль Регистрация
 
akiam
0 / 0 / 0
Регистрация: 29.01.2013
Сообщений: 39
31.01.2013, 01:07     Ряд тейлора #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
#include <iostream.h>
#include <math.h>
#include <iomanip.h>
#include <conio.h>
 
 
int main ()
{
    const int max = 500;
    double Xn,Xk,dX,eps,element,summa;
    int c;
    //cout<<"vvedite Xn,Xk,dX,eps"<<endl;
    cin>>Xn>>Xk>>dX>>eps;
    //cout << "X     |       Y          |    c" << endl;
    for (double x=Xn;x<=Xk+dX; x+=dX)
    {
        c=0; summa=element=2/x; 
        for (int n =0; fabs(element)>eps && n<max ;n++)
        {
        element*=(2*n+1)/((2*n+3)*x*x);
        //cout<<x<<" ";
        //cout<<endl;
        summa+=element;
        //cout<<summa<<" ";
        //cout<<endl;
        //cout<<element<<" ";
        //cout<<endl;
        c++;
        }
        if (c<max+1) 
        cout<<setprecision(2)<<x<<" "<<setprecision(4)<<summa<<" "<<c<<" "<<setprecision(4)<<log((x+1)/(x-1))<<endl;
            else cout << "Riad rashoditsia" <<endl;
    }
    getch();
    return 0;
}
Можете подсказать, где ошибка?
Мне надо:
Ввод: начало и конец интервала, шаг и точность
Вывод: таблица, каждая строка которой есть комбинация из четырех чисел – значение аргумента, значение функции, количество просуммированных членов ряда и расчет функции стандартными средствами с++

Ввожу: 1.5 2.5 0.1 0.0001
Получаю:
1.5 1.609 9 1.609
1.6 1.466 8 1.466
1.7 1.35 7 1.35
1.8 1.253 6 1.253
1.9 1.17 6 1.17
2 1.099 5 1.099
2.1 1.036 5 1.036
2.2 0.9808 5 0.9808
2.3 0.9316 5 0.9316
2.4 0.8873 4 0.8873
2.5 0.8473 4 0.8473

А должно быть:
1.5 1.609 9 1.609
1.6 1.466 8 1.466
1.7 1.35 7 1.35
1.8 1.253 7 1.253
1.9 1.17 6 1.17
2 1.099 6 1.099
2.1 1.036 6 1.036
2.2 0.9808 5 0.9808
2.3 0.9315 5 0.9316
2.4 0.8873 5 0.8873
2.5 0.8473 5 0.8473

Т.е. не совпадает количество просуммированных членов ряда. Может быть ошибка не у меня, а в "Должно быть" ?
Завтра экзамен, а это последняя лаба (

Добавлено через 1 час 50 минут
upupup
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.01.2013, 01:07     Ряд тейлора
Посмотрите здесь:

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

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

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

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