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

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

Войти
Регистрация
Восстановить пароль
 
Ksu Rudaleva
0 / 0 / 0
Регистрация: 08.01.2015
Сообщений: 23
#1

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

01.07.2015, 22:18. Просмотров 402. Ответов 3
Метки нет (Все метки)

Требуется написать программу, которая решает интеграл методом Сипмсона.
Вот моя программа. Почему выводит неправильный ответ. Помогите, пожалуйста!
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
60
61
62
63
64
65
66
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
#include <iostream>
 
using namespace std;
 
double integralsimpson (float a, float b, float e);
 
int main (void)
{
   setlocale(LC_ALL, "RUS");
   float a1, b1, a=0, b=0, e=0;
   float epsilon;
   cout<<"Введите a "<<endl;
   cin>>a1;
   cout<<"Введите b "<<endl;
   cin>>b1;
   cout<<"Введите e "<<endl;
   cin>>epsilon;
   integralsimpson(a,b,e);
   return 0;
}
 
 
float f (float x)
{
   float result;
   result=log (x);
   return result;
}
 
double integralsimpson (float a, float b, float e)
{
   float result;
   float h;
   float s;
   float s1;
   float s2;
   float s3;
   float x;
   s2 = 1;
   h = b-a;
   s = f (a) +f (b);
   do
     {
       s3 = s2;
       h = h/2;
       s1 = 0;
       x = a+h;
       do
          {
            s1 = s1+2*f (x);
            x = x+2*h;
          }
       while (x<b);
       s = s+s1;
       s2 = (s+s1) *h/3;
       x = fabs (s3-s2) /15;
     }
   while (x>e);
   result = s2;
   cout<<endl<<"Интеграл равен: "<<result<<endl;
   return result;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.07.2015, 22:18     Вычислить интеграл методом Симпсона
Посмотрите здесь:

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

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

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

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

Интеграл методом Симпсона и трапеции (Code::Blocks) - C++
подскажите что делать дальше и в чём ошибки? файл main.cpp: #include &lt;iostream&gt; #include &quot;integrall.h&quot; inline double ff(double...

Решить методом трапеций или Симпсона определенный интеграл - C++
Здавствуйте! Помогите пожалуйста! Решить методом трапеций или Симпсона определенный интеграл Заранее спасибо!

Вычислить интеграл методами прямоугольников и Симпсона - C++
Разработать алгоритм блок-схемы, чтобы обчислить численного интегрирования с использованием метода прямоугольника или Симпсона

Вычислить методом Симпсона - C++
Вычислить интеграл http://www.cyberforum.ru/attachment.php?attachmentid=29717&amp;amp;d=1273752305 методом Симпсона. Не пойму этих формул... ...

Вычислить интеграл f(x)=5x(кв.)-x+2 методом прямоугольников - C++
Напишите программу вычисления интеграла f(x)=5x(кв.)-x+2 методом прямоугольников

Вычислить интеграл методом прямоугольников - C++
Ребят помогите пожалуйста кому не трудно :( Вычислить интеграл методом прямоугольников. Начальное число шагов численного интегрирования –...

Вычислить двойной интеграл методом Гаусса - C++
Неправильный результат выдаёт. Помогите найти в чём ошибка. (Visual C++ 2008) #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include...

Вычислить определенный интеграл методом прямоугольников - C++
Вычислить определенный интеграл методом прямоугольников Помогите!!! Вообще не пойму как делать?


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Andrew_Montana
30 / 30 / 17
Регистрация: 12.10.2014
Сообщений: 214
02.07.2015, 00:18     Вычислить интеграл методом Симпсона #2
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
double integralsimpson (float a, float b, float e);
 
int main (void)
{
   setlocale(LC_ALL, "RUS");
   float a=0, b=0, e=0;
   cout<<"Введите a "<<endl;
   cin>>a;
   cout<<"Введите b "<<endl;
   cin>>b;
   cout<<"Введите e "<<endl;
   cin>>e;
   integralsimpson(a,b,e);
   return 0;
}
 
 
float f (float x)
{
   float result;
   result=log (x);
   return result;
}
 
double integralsimpson (float a, float b, float e)
{
   float result;
   float h;
   float s;
   float s1;
   float s2;
   float s3;
   float x;
   s2 = 1;
   h = b-a;
   s = f (a) +f (b);
   do
     {
       s3 = s2;
       h = h/2;
       s1 = 0;
       x = a+h;
       do
          {
            s1 = s1+2*f (x);
            x = x+2*h;
          }
       while (x<b);
       s = s+s1;
       s2 = (s+s1) *h/3;
       x = fabs (s3-s2) /15;
     }
   while (x>e);
   result = s2;
   cout<<endl<<"Интеграл равен: "<<result<<endl;
   system("pause");
   return result;
}
Добавлено через 5 минут
В int main, ошибка при вводе была.
Ksu Rudaleva
0 / 0 / 0
Регистрация: 08.01.2015
Сообщений: 23
02.07.2015, 00:43  [ТС]     Вычислить интеграл методом Симпсона #3
Все работает. Спасибо.
А если нужно от другой функции посчитать интеграл. Я меняю тут
C++
1
2
3
4
5
6
float f (float x)
{
   float result;
   result=x/sin(x);
   return result;
}
и снова не считает.
Как тут быть?

Добавлено через 11 минут
Andrew_Montana,
Цитата Сообщение от Ksu Rudaleva Посмотреть сообщение
Все работает. Спасибо.
А если нужно от другой функции посчитать интеграл. Я меняю тут
Код C++Выделить код
1
2
3
4
5
6
float f (float x)
{
* *float result;
* *result=x/sin(x);
* *return result;
}
и снова не считает.
Как тут быть?
Andrew_Montana
30 / 30 / 17
Регистрация: 12.10.2014
Сообщений: 214
02.07.2015, 01:25     Вычислить интеграл методом Симпсона #4
Я сейчас в том же коде заменил на x/sin(x) и всё считает. Попробуй программу еще раз создать и вставить обновленный код.
Yandex
Объявления
02.07.2015, 01:25     Вычислить интеграл методом Симпсона
Ответ Создать тему
Опции темы

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