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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.70
r.e.a.c.t.o.r
0 / 0 / 0
Регистрация: 16.05.2009
Сообщений: 43
#1

Вычисление функции c помощью разложения в ряд - C++

10.11.2012, 06:54. Просмотров 2986. Ответов 2
Метки нет (Все метки)

Составить программу для вычисления функции c помощью разложения в ряд:

arctgx=-п/2 + (формула) = -п/2 - 1/х + 1/3x^3....

Вычислить и вывести на экран в виде таблицы значения функции на интервале от xn до xk с шагом dx с точностью eps.

Для вычисления последующего члена ряда воспользоваться рекуррентной формулой Cn+1=Cn*T, где T - некоторый множитель.

Предусмотреть максимальное количество итераций = 500.
--------------------------------------------------------------

формулу писать не стал, т. к. T высчитал точно. T = (((-1)*(2*n+1))/((2*n+3)*x*x))

но упёрся в код и дальше не могу ничего придумать((

Помогите пожалуйста. Суть в том что f должна быть примерно близка к matf

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
#include <iostream.h>
#include <iomanip>
#include <math.h>
 
 
int _tmain()
{
    return 0;
}
 
 
void main()
{
    double xn, xk, dx, eps, s, sum, x, matf, s1,f;
    int n=1;    
    cout<<"Vvedite xn xk dx eps\n";
    cin>>xn>>xk>>dx>>eps;
    cout<<"-----------------------------------------------\n";
    cout<<"|     x    |      f     |    n   |   math F   |\n";
    cout<<"-----------------------------------------------\n"<<endl;
    x=xn;
    n=0;
    s1=(-3,14/2);
    f=s1;
    matf= atan(x);
 printf("%10.2lf | %8.2lf   |  %3d   | %10.2lf |\n",x,f,n,matf);    
    while(fabs(s)>eps && n <= 500 && (x<xk))
    {
        
            s=(((-1)*(2*n+1))/((2*n+3)*x*x));
            f=f+s;
            matf = atan(x);
            x=x+dx;
           printf("%10.2lf | %8.2lf   |  %3d   | %10.2lf |\n",x,f,n,matf);
                    n++;
    }
    cout<<"-------------------------------------------------\n";
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.11.2012, 06:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычисление функции c помощью разложения в ряд (C++):

Найти ошибку (Вычисление функции с помощью разложения в ряд) - C++
Итак,проблема с разницей в показаниях Задание #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;clocale&gt; #include &lt;cmath&gt;...

Вычисление функции с использованием их разложения в ряд - C++
Прошу помочь с решением задачи. Только начал постигать С++. Для х изменяющегося от a до b с шагом (a-b)/k, где (К=10), вычислить функцию...

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

Помогите вычислить функции с помощью разложения в ряд! - C++
Где я нетак делаю? компилятор Dev-C++ #include&lt;iostream&gt; #include&lt;math.h&gt; using namespace std; main() { float...

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

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

2
asidorchenko
379 / 205 / 25
Регистрация: 09.04.2012
Сообщений: 635
10.11.2012, 09:25 #2
http://upload.wikimedia.org/math/0/f...595284ad12.png

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
#include <stdio.h>
#include <math.h>
 
#define M_PI 3.14159265358979323846
 
float farctg(int n, float xn, float xk, float eps, float dx)
{
if (n == 500)
 return 0.0;
 
float coef = pow( (float) -1, (float) n) / ( 2*n + 1 );
float step = 2.0*n+1.0;
 
float result = coef * pow(xn, step);
 
//printf("%d: %f %f\n", n, coef, step, result);
 
return (result+farctg(n+1, xn, 0,0,0));
}
 
int main()
{
float i;
for(i=0.0; i<1.0;i+=0.01)
{
printf("%f: %f ", i, farctg(0, i,0,0,0));
printf("%f\n", atan(i));
}
 
return 0;
}
1
r.e.a.c.t.o.r
0 / 0 / 0
Регистрация: 16.05.2009
Сообщений: 43
13.11.2012, 04:10  [ТС] #3
Спасибо большое, но уже сделал так) -
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
#include <iostream.h>
#include <iomanip>
#include <math.h>
 
 
int _tmain()
{
    return 0;
}
 
 
void main()
{
    double xn, xk, dx, eps, s, sum, x, matf, s1;
    int n=1;    
    cout<<"Vvedite xn xk dx eps\n";
    cin>>xn>>xk>>dx>>eps;
    cout<<"-----------------------------------------------\n";
    cout<<"|     x    |      f     |    n   |   math F   |\n";
    cout<<"-----------------------------------------------\n"<<endl;
    for(x=xn; x<=xk; x+=dx)
    {n=0;
    sum=-3.14/2;
    s=-1/x;
    sum+=s;
 
    matf= atan(x);  
 
    while(fabs(s)>eps && n <= 500)
    {
        
            s*=(((-1)*(2*n+1))/((2*n+3)*x*x));
            sum+=s;
            n++;
    }
printf("%10.2lf | %8.2lf   |  %3d   | %10.2lf |\n",x,sum,n,matf);
    }
 
    cout<<"-------------------------------------------------\n";
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.11.2012, 04:10
Привет! Вот еще темы с ответами:

Вычисление функции с заданной точностью с использованием разложения в ряд - C++
Цель работы: освоение средств языка C++ для описания итерационных циклов и закрепление навыков использования их при программировании. ...

Найти значение функции c заданной точностью с помощью разложения в ряд Тейлора - C++
Найти значение функции √(1+x) в точке х (-1≤x≤1) c заданной точностью с помощью разложения в ряд: √(1+x)=1+1/2 x-1/8 x^2+1/16 x^3-5/128...

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

Вычислить с помощью разложения в ряд (программа с таблицами не работает) - C++
Я только начинаю изучать С++, и мне дали задание, но не могу понять почему не работает или не правильно составил #include &lt;stdio.h&gt; ...


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

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

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