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

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

Войти
Регистрация
Восстановить пароль
 
legend
28 / 27 / 0
Регистрация: 17.11.2010
Сообщений: 152
#1

Разложение интеграла в ряд - C++

15.05.2011, 23:09. Просмотров 734. Ответов 0
Метки нет (Все метки)

Всем кто посетил сию страницу привет)
В общем мне надо рассчитать интеграл с помощью С++ в двух вариантах. Первый вариант по ф-ле Симпсона, второй - разложение в ряд. С формулой Симпсона в общем разобрался и сделал. Но вот дошел до ряда и столкнулся с траблой. Где-то то ли цикл циклит, то ли просто не мой день. Значения никак не удается сравнять)
Вот и сам добрый код:
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#include <iostream>
#include <stdio.h>
#include <math.h>
#include <conio.h>
using namespace std;
 
unsigned long fact(unsigned int n)
  {
    if(n <= 1)
      return 1;
      else 
      return n*fact(n-1);
  }
  
  
const double pi=3.1415926;
const int N=1000;
const double EPS=0.0001;
 
 
int main ()
 
{
double h,s1,s2,S;
float x;
int a,i;
double Fx[1000];
a=-5;
 
                                                                                // Метод Симпсона
                 std::cout<<"X = ";
                 std::cin>>x;
 
                 h=(x-a)/N;
                 
                 for(i=0;i<=1000;i++)
                 {
                 Fx[i]=(1/sqrt(2*pi))*exp(-0.5*(a+h*i)*(a+h*i));
                 }
                    
                 s1=0;    
                 for(i=1; i<=999; i=i+2)
                 {s1=s1+Fx[i];
                 }
                
                 s2=0;
                 for(i=2; i<=998;i=i+2)
                 {s2=s2+Fx[i];
                 }
            
                 S=h*(Fx[0]+Fx[1000]+2*s1+4*s2)/3;
 
                 std::cout<<"S = "<<(S)<<std::endl;
                                                   
                                                                                // Метод Симпсона 
              
                                                                                // Разложение в ряд
                 
s1=0.5;
i=0;
                 do
                 {
                 s2=pow(-1,i)*pow(x,2*i+1)/(fact(i)*pow(2,i)*(2*i+1)*sqrt(2*pi)); 
                 s1=s1+s2;
                 i=i+1;
                 }
                 while(fabs(s2)>EPS);
std::cout<<"S = "<<(s1)<<std::endl;
std::cout<<"number of series "<<(i-1)<<std::endl;
 
getch();
return 0;
}
Траблы начинаются после //Разложение в ряд.
С первой частью всё хорошо. По ней можно сверятся, но результаты не радуют.
Мб кто-то подскажет куда кликать что делать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2011, 23:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Разложение интеграла в ряд (C++):

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

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

Разложение в ряд - C++
#include &lt;stdio.h&gt; #include &lt;math.h&gt; int main () { double a,b,x,k; //k - to4noe printf(&quot;BBegute x\n&quot;); scanf(&quot;%lf&quot;,&amp;x); ...

Разложение в ряд - C++
Помогите пожалуйста Функция Разложение в ряд Область сходимости

Разложение в ряд. - C++
Нужна помощь.Вычисление логарифма по основанию два вещественного числа...дан ряд n(x+1)=x-x^2/2+x^3/3-.....x^n/n - разложение натурального...

Разложение в ряд S(x) и Y(x) - C++
Всем привет! Необходимо вывести на экран таблицу значений функции Y(x) и ее разложения в ряд S(x) для x изменяющихся от xn до xk с...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.05.2011, 23:09
Привет! Вот еще темы с ответами:

разложение в ряд Тейлора - C++
нужна ваша помощь!!! используя разложение в ряд тейлора, найти значение sin(x) с заданной точностью eps.

Разложение функции в ряд - C++
Найти сумму ряда с точностью до члена ряда, меньшего 0.0001 для заданного значения и сравнить эту сумму с функцией контроля. Для...

Разложение в ряд arctg(x) - C++
Ввести вещественное число X и целое число N &gt; 0. Найти значение выражения X – X3/(3) + X5/(5) – X7/(7) + ..., которое является...

Разложение в ряд тейлора - C++
У меня есть программа разложения в ряд тейлора и блок схема к ней какие параметры нужно задать чтобы получилось для log(x) и что...


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

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

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