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

Вычислить определённый интеграл методом тропеций - C++

Восстановить пароль Регистрация
 
ishushii
1 / 1 / 0
Регистрация: 20.01.2012
Сообщений: 41
18.04.2012, 20:37     Вычислить определённый интеграл методом тропеций #1
XD.doc

помогите пожалуйста ни как не пойму как реализовать вычисление интеграла
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
18.04.2012, 21:26     Вычислить определённый интеграл методом тропеций #2
ща гляну, а пока
C
1
2
3
4
5
6
step=(b-a)/N;
s=(f(a)+f(b))/2;
for (i=a+step; i<b; i+=step)
  s=s+f(i);
s=s*step;
cout<<"Integral="<<s;
Добавлено через 8 минут
Что такое L ср. в формуле P(L)?
ishushii
1 / 1 / 0
Регистрация: 20.01.2012
Сообщений: 41
18.04.2012, 21:29  [ТС]     Вычислить определённый интеграл методом тропеций #3
Lср это (Lmax-Lmin)/2
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
18.04.2012, 22:07     Вычислить определённый интеграл методом тропеций #4
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
#include "stdafx.h"
#define _USE_MATH_DEFINES
#include <iostream>
#include <cmath>
#include <conio.h>
using namespace std;
double Lmed, sigma;
inline double sqr(double x){return x*x;}
double integral(double (*f)(double), double a, double b, double step){
  double s, i;
  Lmed=(a+b)*0.5;
  s=((*f)(a)+(*f)(b))*0.5;
  for (i=a+step; i<b; i+=step)
    s=s+(*f)(i);
  s=s*step;
  return s;
}
double Pfunc(double L){
return exp(
           -sqr(L-Lmed)
           /
               (
                   (2.0*sqr(sigma))
                   /
                   (sigma*sqrt(2.0*M_PI))
               )
           );
}
int main(){
 double L;
 cout<<"s\\L |";
 for (L=20.0; L<90.0; L=L+10.0)
   cout<<L<<"       |";
 cout<<endl;
 for(sigma=4.0; sigma<=6.0; sigma=sigma+1.0){
   cout<<sigma<<"   |";
   for (L=20.0; L<90.0; L=L+10.0)
    {
      cout<<1-integral(Pfunc, 0, L, 4.0)<<" |";
    }
   cout<<endl;
 }
 getch();
 return 0;
}
Yandex
Объявления
18.04.2012, 22:07     Вычислить определённый интеграл методом тропеций
Ответ Создать тему
Опции темы

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