|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Dmitry Pankov 2:5022/81 04 Dec 2001 23:07:24 To : Alexsandr Suharev Subject : Численное интегрирование функции --------------------------------------------------------------------------------
04 декабря 2001 года (а было тогда 15:56)
Alexsandr Suharev в своем письме к All писал:
AS> Дайте plz алгоритм вычисления опред. интеграла методом Гауса (разбивая
AS> отрезок на n частей)
AS> Зараниее спасибо...
Для 8 узлов. Задай функцию f(x)
=== Cut ===
//****************************************************************************
// Вычисление определенного интеграла по квадратурной формуле Гаусса
// Вход:
// 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;
}
=== Cut ===
С наилучшими пожеланиями, Dmitry *e-mail: panda@tula.net*
. Тишина
... Большой программе - большие глюки
--- Win95 UpTime: 00d 06h 43m 47s
* Origin: Из всех искусств важнейшим для нас является ФИДО (2:5022/81)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/18243c0d494c.html, оценка из 5, голосов 10
|