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

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

Войти
Регистрация
Восстановить пароль
 
Jony Wocker
45 / 45 / 2
Регистрация: 19.11.2009
Сообщений: 362
#1

Интегралы - C++

26.05.2010, 17:59. Просмотров 706. Ответов 8
Метки нет (Все метки)

При решении одного интеграла разными методами, ответы должны же быть одинаковыми?
http://www.cyberforum.ru/attachment....p;d=1273752305
Прямоугольник:
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
//---------------------------------------------------------------------------
#include <vcl.h>
#include <iostream.h>
#include <math.h>
#include <conio.h>
#include <stdio.h>
//---------------------------------------------------------------------------
 float a,b;
 int m=100;
float f(float x){
 return (1/(sqrt(2*pow(x,2)+3)));
  }
int main()
{cout<<"a="; cin>>a;   //0.8
 cout<<"b="; cin>>b;   //1.4
float s=0;
float x;
float h=(b-a)/m;
x=a;
while(x<=b){
s+=f(x+h/2);
x+=h;}
float f;
f=s*h;
printf("F=%7.4f",f);
getch();
return 0;
}
//---------------------------------------------------------------------------
Ответ:0.2582

Симпсон:
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
//---------------------------------------------------------------------------
#include <iostream.h>
#include <vcl.h>
#include <conio.h>
#include <stdio.h>
#include <math.h>
//---------------------------------------------------------------------------
 float a,b,x,h,n,i;
 int m=100;
float f(float x){
return (1/(sqrt(2*pow(x,2)+3)));
}
int main()
{cout<<"a="; cin>>a;      //0.8
 cout<<"b="; cin>>b;      //1.4 
h=(b-a)/m/2;
x=a;
i=f(x);
do{
n=0;
x+=h;
i+=4*f(x);
n+=2;
if (n==2*m){
x=b;
i=(i+f(x))*h/3;
}
else
x+=h;
i+=2*f(x);}
while(x>b);
printf("F=%10.4f",i);
getch();
return 0;
}
//---------------------------------------------------------------------------
Ответ: 3.3792

Какой из них правильный?
И где ошибка?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2010, 17:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Интегралы (C++):

интегралы - C++
День добрый. Помогите, пожалуйста, решить интегралы. зарание спасибо.)

Интегралы - C++
Прошу доработать программу которая решает интегралы разными методами #include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;locale.h&gt; ...

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

Интегралы. BC++ - C++
Помогите написать задачу. Именно борланд С++. Заранее спасибо!!!

Интегралы в С++ - C++
663. Даны действительные числа s, t, многочлен P(x) степени n. Найти значение t ∫P(x)dx s

Интегралы - C++
написать программу, которая исполняет вычисление интеграла различными методами с возможностью сравнения результатов и заданием точности...

8
DartDayring
13 / 13 / 5
Регистрация: 10.02.2010
Сообщений: 72
26.05.2010, 18:32 #2
Правильный ответ по методу прямоугольника
1
Jony Wocker
45 / 45 / 2
Регистрация: 19.11.2009
Сообщений: 362
26.05.2010, 18:38  [ТС] #3
А что не так с Симпсоном.
Я по блок схеме собирал.
Я ее плохо понимаю. Может поможете)))
0
Миниатюры
Интегралы  
Jony Wocker
45 / 45 / 2
Регистрация: 19.11.2009
Сообщений: 362
28.05.2010, 18:31  [ТС] #4
sos sos
0
edd
36 / 36 / 0
Регистрация: 13.05.2010
Сообщений: 81
28.05.2010, 19:29 #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
float a,b,x1,x2,h,x;
 int m=100, i;
float f(float x){
return (1/(sqrt(2*pow(x,2)+3)));
}
int main()
{cout<<"a="; cin>>a;      //0.8
 cout<<"b="; cin>>b;      //1.4 
h=(b-a)/m/2;
for (i=1; i<m*2; i+=2){
    x1+=f(a+h*i);}
for (i=2; i<(m*2-1); i+=2){
    x2+=f(a+h*i);}
x=(h/3)*(f(a)+4*x1+2*x2+f(b));
 
               
cout<<"x="<<x<<" ";
 
getch ();}
как то так
1
Jony Wocker
45 / 45 / 2
Регистрация: 19.11.2009
Сообщений: 362
29.05.2010, 12:10  [ТС] #6
Спасибо.
В консоли работает.
А в формах пишет ответ :3,6598554395228E35
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
46
47
48
49
50
51
52
53
54
55
56
57
58
//-----Симпсон----------------------------------------------------------------------
 
#include <vcl.h>
#include <math.h>
#pragma hdrstop
 
#include "Unit3.h"
#include "Unit1.h"
#include "Unit2.h"
#include "Unit4.h"
#include "Unit5.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TSimpson *Simpson;
 float a,b;
 int m=100;
float f(float x){
 return (1/(sqrt(2*pow(x,2)+3)));
  }
//---------------------------------------------------------------------------
__fastcall TSimpson::TSimpson(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TSimpson::aaChange(TObject *Sender)
{
aa->Text;
}
//---------------------------------------------------------------------------
 
void __fastcall TSimpson::beChange(TObject *Sender)
{
be->Text;
}
//---------------------------------------------------------------------------
 
void __fastcall TSimpson::Panel1Click(TObject *Sender)
{
if(aa->Text>="0" && aa->Text<="9" &&
be->Text>="0" && be->Text<="9"){
a=StrToFloat(aa->Text);
b=StrToFloat(be->Text);
float h,x1,x2,x,i;
h=(b-a)/m/2;
for (i=1; i<m*2; i+=2){
        x1+=f(a+h*i);}
for (i=2; i<(m*2-1); i+=2){
        x2+=f(a+h*i);}
x=(h/3)*(f(a)+4*x1+2*x2+f(b));
Otvet->Text=FloatToStr(x);}
else
Errore->ShowModal();
 
 
}
//---------------------------------------------------------------------------
0
Миниатюры
Интегралы  
Jony Wocker
45 / 45 / 2
Регистрация: 19.11.2009
Сообщений: 362
29.05.2010, 12:18  [ТС] #7
Таким образом заработало.
Какого хрена?
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
//-----Симпсон----------------------------------------------------------------------
 
#include <vcl.h>
#include <math.h>
#pragma hdrstop
 
#include "Unit3.h"
#include "Unit1.h"
#include "Unit2.h"
#include "Unit4.h"
#include "Unit5.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TSimpson *Simpson;
 float a,b;
 float h,x1,x2,x,i;  //Переместил переменные сюда.
 int m=100;
float f(float x){
 return (1/(sqrt(2*pow(x,2)+3)));
  }
//---------------------------------------------------------------------------
__fastcall TSimpson::TSimpson(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TSimpson::aaChange(TObject *Sender)
{
aa->Text;
}
//---------------------------------------------------------------------------
 
void __fastcall TSimpson::beChange(TObject *Sender)
{
be->Text;
}
//---------------------------------------------------------------------------
 
void __fastcall TSimpson::Panel1Click(TObject *Sender)
{
if(aa->Text>="0" && aa->Text<="9" &&
be->Text>="0" && be->Text<="9"){
a=StrToFloat(aa->Text);
b=StrToFloat(be->Text);
//Были здесь.
h=(b-a)/m/2;
for (i=1; i<m*2; i+=2){
        x1+=f(a+h*i);}
for (i=2; i<(m*2-1); i+=2){
        x2+=f(a+h*i);}
x=(h/3)*(f(a)+4*x1+2*x2+f(b));
Otvet->Text=FloatToStr(x);}
else
Errore->ShowModal();
 
 
}
//---------------------------------------------------------------------------
0
impuls__s
0 / 0 / 0
Регистрация: 10.02.2010
Сообщений: 37
13.02.2011, 18:46 #8
подскажите где взять <vcl.h> ???
выдает ошибку.
0
panicwassano
592 / 560 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
13.02.2011, 19:19 #9
поставить С++ билдер
1
13.02.2011, 19:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.02.2011, 19:19
Привет! Вот еще темы с ответами:

определенные интегралы - C++
Помогите, пожалуйста, решить задачи.

Опять интегралы.... - C++
Написать программу для вычисления значения определенного интеграла вида с заданной точностью R=0.0001. Для вычислений используется...

Интегралы, площадь заштрихованной области - C++
Подскажите , пожалуйста. Даже не знаю с чего начинать. Проинтегрировать на листочке до окончательной формулы не получилось. Пыталась через...

Интегралы по формуле Симпсона и прямоугольников (С++) - C++
Вычислить приближенное значение интеграла по формулам прямоугольников и Симпсона для n = 120 (интеграл на фото) вот...


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

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

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