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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Jony Wocker
45 / 45 / 2
Регистрация: 19.11.2009
Сообщений: 362
#1

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

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

Вычислить интеграл http://www.cyberforum.ru/attachment....p;d=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/Метод_п...BA.D0.BE.D0.B2
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2010, 20:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычислить методом Симпсона (C++):

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

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

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

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

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

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

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

Цитата Сообщение от genius5 Посмотреть сообщение
и откуда число 20??
Честно говоря сам не знаю.
Вроде для разбивания интервала интегрирования...
genius5
114 / 36 / 2
Регистрация: 13.12.2009
Сообщений: 223
15.05.2010, 15:46 #4
нет тебе нужен просто размер шага.
и все и концы отрезка.
Jony Wocker
45 / 45 / 2
Регистрация: 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;
}
//---------------------------------------------------------------------------
??????
genius5
114 / 36 / 2
Регистрация: 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;}

это подинтегральное выражение
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.05.2010, 23:42
Привет! Вот еще темы с ответами:

Нахождение интеграла методом Симпсона - C++
Что не так? #include&lt;iostream&gt; #include&lt;cmath&gt; #include&lt;conio.h&gt; #include&lt;stdio.h&gt; using namespace std; double f(double...

Применение операторов цикла в С++. Методом Симпсона - C++
Написать программу С++. Вычислить приближенное значение интеграла по формулам прямоугольников и Симпсона для n=40 ...

Интеграл в С++ Методом правых, средних и Симпсона - C++
Доброго времени суток. Надо написать программу, которая будет решать один интеграл 3 методами, можно все записать в 1 программе. С такого...

Интеграл функции методом трапеций, прямоугольника и Симпсона - C++
Нужно найти интеграл функции, методом трапеций, прямоугольника и Симпсона. Ошибка вылетает float __cdecl Tr(double)&quot; (?Tr@@YAMN@Z) в...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.05.2010, 23:42
Ответ Создать тему
Опции темы

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