Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
45 / 45 / 3
Регистрация: 19.11.2009
Сообщений: 362
1

Вычислить методом Симпсона

13.05.2010, 20:33. Показов 1441. Ответов 5
Метки нет (Все метки)

Вычислить интеграл https://www.cyberforum.ru/atta... 1273752305 методом Симпсона.
Не пойму этих формул...

Добавлено через 34 минуты
Это правильно?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//---------------------------------------------------------------------------
#include <vcl.h>
#include <conio.h>
#include <stdio.h>
//---------------------------------------------------------------------------
int main()
{double a=0.8,b=1.4,h,j,s=0,x;
int i,n=20;
double f[20];
for(i=0;i<20;i++)
{f[i]+=a+((b-a)*i)/2*n;
s+=((b-a)/6*n)*(f[0]+4*(f[1]+f[3]+f[2*n-1])+2*(f[2]+f[4]+f[2*n+2])+f[2*n]);}
printf("S=%8.4f",s);
getch();
return 0;
}
//---------------------------------------------------------------------------
Плиссс помогите
Мне курсовую через две недели сдавать!!!!!!!
http://ru.wikipedia.org/wiki/М... 0.BE.D0.B2
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.05.2010, 20:33
Ответы с готовыми решениями:

Вычислить интеграл методом Симпсона
Требуется написать программу, которая решает интеграл методом Сипмсона. Вот моя программа. Почему...

Вычисление значения трех определенных интегралов методом трапеций или методом Симпсона
Всем привет, нужна конкретная помощь по написанию проги по такому условию. Написать программу,...

Программа для вычисления интеграла с заданной точностью методом Симпсона и методом Монте-Карло
Здравствуйте, подскажите как решить эту задачу, пожалуйста: Разработать программу для вычисления...

Найти площадь фигуры методом трапеций и методом Симпсона
Доброе время суток Я студент поэтому прошу не нападать мне нужно написать код для тапазойдного и...

__________________

Записывайтесь на профессиональные курсы C++ разработчиков
5
115 / 36 / 3
Регистрация: 13.12.2009
Сообщений: 223
13.05.2010, 22:45 2
а зачем тебе массив??
и откуда число 20??
1
45 / 45 / 3
Регистрация: 19.11.2009
Сообщений: 362
14.05.2010, 23:25  [ТС] 3
Цитата Сообщение от genius5 Посмотреть сообщение
а зачем тебе массив??
По другому не знаю как...

Цитата Сообщение от genius5 Посмотреть сообщение
и откуда число 20??
Честно говоря сам не знаю.
Вроде для разбивания интервала интегрирования...
0
115 / 36 / 3
Регистрация: 13.12.2009
Сообщений: 223
15.05.2010, 15:46 4
нет тебе нужен просто размер шага.
и все и концы отрезка.
1
45 / 45 / 3
Регистрация: 19.11.2009
Сообщений: 362
15.05.2010, 15:56  [ТС] 5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//---------------------------------------------------------------------------
#include <vcl.h>
#include <conio.h>
#include <stdio.h>
//---------------------------------------------------------------------------
int main()
{double a=0.8,b=1.4,h,j,s=0,x;
int i;
const int n=9;
double f[n];
for(i=a;i<=b;i++)
{f[i]+=a+((b-a)*i)/2*n;
s+=((b-a)/6*n)*(f[0]+4*(f[1]+f[3]+f[2*n-1])+2*(f[2]+f[4]+f[2*n+2])+f[2*n]);}
printf("S=%10.4f",s);
getch();
return 0;
}
//---------------------------------------------------------------------------
??????
0
115 / 36 / 3
Регистрация: 13.12.2009
Сообщений: 223
15.05.2010, 23:42 6
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
double intergral2(double a,double b,double(*f)(double x),double e,double *sum)
{double x1,kap,p,I1,I2,h=0.3;
//FILE*fin=fopen("d.txt","w");
x1=a;
*sum=0;
while(1==1)
{
I1=I(x1,x1+h,f);//0.5*h*(f(c)+f(d));
I2=I(x1,x1+h*0.5,f)+I(x1+h*0.5,x1+h,f);//0.5*h*(f(k)+f(l)+f(s)+f(w));
p=((I1-I2))/15.;
if(fabs(p)<e){*sum=*sum+I2;x1=x1+h;}
kap=fabs(p)/e;
if(kap>1.e+5)kap=1.e+5;
if(kap<1.e-5)kap=1.e-5;
h*=0.95/pow(kap,0.2);
//printf("%lg\n ",*sum);
if(x1+h>b)h=b-x1;
if(fabs(b-x1)<e)break;
}return 2;}
Добавлено через 4 минуты
это сфмо вычисление суммы
а ето метод 2 точечный гаус
C
1
2
3
4
5
double I(double v,double q,double(*f)(double x))
{double l,h=q-v;
l=0.5*h*(f((v+q)/2+h/2*sqrt(3))+f((v+q)/2-h/2*sqrt(3)));
return l;
}
Добавлено через 14 секунд
это сфмо вычисление суммы
а ето метод 2 точечный гаус
C
1
2
3
4
5
double I(double v,double q,double(*f)(double x))
{double l,h=q-v;
l=0.5*h*(f((v+q)/2+h/2*sqrt(3))+f((v+q)/2-h/2*sqrt(3)));
return l;
}
Добавлено через 4 минуты
а
double f(double x)
{
double l;
l=....;
return l;}

это подинтегральное выражение

Добавлено через 15 секунд
а
double f(double x)
{
double l;
l=....;
return l;}

это подинтегральное выражение
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.05.2010, 23:42

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Интеграл методом Симпсона
Вообщем на форуме есть такая програма, спасибо её автору: ouble Simpson(double (*Fx)(double)) {...

интеграл методом Симпсона
нужно посчитать интеграл: ∫32(1/(x*lgx))dx кол-во разбиений - 36 шаг вычисления первообразной -...

Нахождение интеграла методом Симпсона
http://i016.***********/0910/b7/f79e34604977.jpg имеется функция double Simpson(double...

Решение интеграла методом симпсона
Здравствуйте, помогите исправить программу. Она работает для заданного интеграла с нижней границей...


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

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

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