Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Dmitry Pankov                        2:5022/58.27   01 Oct 2001  17:20:40
 To : Eugeny Gnedov
 Subject : вычисление интегралов
 -------------------------------------------------------------------------------- 
 
 
 29 сентября 2001 года (а было тогда 23:02)
 Eugeny Gnedov в своем письме к All писал:
 
  EG> Какие, all, знает *быстрые(очень быстрые) И точные(очень точные)* методы
  EG> вычисления интегралов...
  EG> Приветствуются алгоритмы и исходники :)
 
 Лови!
 
 ======== Hачало integral.cpp ========
 #include <iostream.h>
 #include <stdlib.h>
 #include <math.h>
 
 //****************************************************************************
 // Функция от которой берется интеграл
 double f(double x)
 {
   return (cos(x)/x);
 }
 
 //****************************************************************************
 // Вычисление определенного интеграла по квадратурной формуле Гаусса
 // Вход:
 //   a - начало интервала
 //   b - конец интервала
 // Выход:
 //   значение интеграла
 double GaussI(double a, double b)
 {
   int i;
   double t[8],d[8],x[8];
   double m=8, // число узлов
          integral=0;
 
   t[0]=-0.96028986; t[1]=-0.79666648; t[2]=-0.52553142; t[3]=-0.18343464;
   t[4]=-t[3]; t[5]=-t[2]; t[6]=-t[1]; t[7]=-t[0];
   d[0]=0.10122854; d[1]=0.22238104; d[2]=0.31370664; d[3]=0.36268378;
   d[4]=d[3]; d[5]=d[2]; d[6]=d[1]; d[7]=d[0];
 
   for(i=0; i<m; i++) {
     x[i]=((b+a)/2)+((b-a)/2)*t[i];
     integral+=(d[i]*f(x[i]));
   }
   integral*=(b-a)/2;
   return integral;
 }
 
 //****************************************************************************
 void main()
 {
   cout.precision(8);
   cout << "Gauss:" << endl;
   cout << "I=" << GaussI(1,2) << endl;
 }
 ======== Конец integral.cpp ========
 С наилучшими пожеланиями, Dmitry                  *e-mail: panda@tula.net*
 
  .  Тишина
 ... Желаю вам моря удачи и дачи у моря!
 --- Win95 UpTime: 00d 02h 35m
  * Origin: Казалось, нам 3.14здец. Оказалось, не казалось (2:5022/58.27)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 вычисление интегралов   Eugeny Gnedov   29 Sep 2001 23:02:18 
 вычисление интегралов   Dmitry Pankov   01 Oct 2001 17:20:40 
 Re: вычисление интегралов   Eugeny Gnedov   04 Oct 2001 18:12:16 
 вычисление интегралов   Dmitry Pankov   05 Oct 2001 11:20:16 
Архивное /ru.algorithms/33783bb8a68d.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional