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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ 2. Дано целое число N (> 2) и набор из N вещественных чисел http://www.cyberforum.ru/cpp-beginners/thread296499.html
Всем Добрый вечер !!!! Пожалуйста решите 1 задачку!!!!! Дано целое число N (> 2) и набор из N вещественных чисел. Набор называется пилообразным, если каждый его внутренний элемент либо больше, либо меньше обоих своих соседей (то есть является «зубцом»). Если данный набор является пилообразным, то вывести 0; в противном случае вывести номер первого элемента, не являющегося зубцом. Буду...
C++ Не могу вернуться к тексту программы Программа вобщем-то работает, но после выполнения компилятор (Borland C++ ) не возвращает к тексту программы как обычно. (если что коряво написал-простите за нубство) #include <stdio.h> #include <conio.h> #include <iostream.h> #include <fstream.h> #include <string.h> char fileName = "c:\\txt.txt"; void readFile() http://www.cyberforum.ru/cpp-beginners/thread296493.html
Подскажите пжл если я в вспомогательной функции C++
Подскажите пжл если я в вспомогательной функции использую переменную с которой потом работаю в главной функции нужно ли в вспомогательной функции ставить ссылку на эту переменную?
Сумма рядов C++
Здравствуйте, Уважаемые форумчане ! :) Вот есть задание: Вычислить сумму рядов, используя зависимость последующего члена от предыдущего (а не общую формулу слагаемого), с точностью до е = 0,001 и сравнить полученный результат с точным значением, определяемым по формуле для левой части выражения. Значение аргумента Х модет быть в заданном диапазоне. Спасибо заранее за помощь. c++
C++ Методы решета Бруна и Сельберга http://www.cyberforum.ru/cpp-beginners/thread296484.html
Помогите с кодами. Нужно написать 2 программы на Си++. Тема: Нахождения простых чисел методами решета 1). Бруна, 2). Сельберга
C++ можно ли сложить класс в бинарный файл на С++ можно ли сложить класс в бинарный файл и как помогите новичку подробнее

Показать сообщение отдельно
legend
28 / 27 / 0
Регистрация: 17.11.2010
Сообщений: 152

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

15.05.2011, 23:09. Просмотров 720. Ответов 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;
}
Траблы начинаются после //Разложение в ряд.
С первой частью всё хорошо. По ней можно сверятся, но результаты не радуют.
Мб кто-то подскажет куда кликать что делать?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru