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

Написать программу, приближенно вычисляющую интеграл - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.85
olesya_kalashni
0 / 0 / 0
Регистрация: 30.07.2012
Сообщений: 7
30.07.2012, 13:19     Написать программу, приближенно вычисляющую интеграл #1
Приближенное вычисление интеграла по формуле прямоугольников. Написать программу, приближенно вычисляющую интеграл по заданным вещественным числам a, b, c, d (a<b, c<d) Интеграл вычисляется приближенно с заданной точностью e>0 по формуле прямоугольников

http://www.cyberforum.ru/cgi-bin/latex.cgi?\int_{c}^{d}(arctgx)^2 dx + \int_{0}^{\pi }sin(exp^x)dx+\int_{a}^{b}e^(-x^2)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.07.2012, 13:19     Написать программу, приближенно вычисляющую интеграл
Посмотрите здесь:

Рекурсивное вычисление функции C++
C++ Напишите программу, вычисляющую определенный интеграл на указанном пользователем промежутке и с указанным шагом разбиения этого промежутка
C++ Написать программу, вычисляющую n! (факториал).
C++ написать программу на С++, приближенно вычисляющую опред. интеграл
Написать программу, вычисляющую значение выражения C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
just_dude
11 / 11 / 2
Регистрация: 15.01.2012
Сообщений: 104
02.08.2012, 16:54     Написать программу, приближенно вычисляющую интеграл #2
Цитата Сообщение от olesya_kalashni Посмотреть сообщение
Приближенное вычисление интеграла по формуле прямоугольников. Написать программу, приближенно вычисляющую интеграл по заданным вещественным числам a, b, c, d (a<b, c<d) Интеграл вычисляется приближенно с заданной точностью e>0 по формуле прямоугольников

http://www.cyberforum.ru/cgi-bin/latex.cgi?\int_{c}^{d}(arctgx)^2 dx + \int_{0}^{\pi }sin(exp^x)dx+\int_{a}^{b}e^(-x^2)
На картинке ф(х) это значение вашей функции. Вы должны её считать от от а до б. Результат каждого подсчёта складывать в переменную. Так все функции. А потом сложить

вы быстро разберётесь когда посмотрите на картинку с википедии

http://upload.wikimedia.org/wikipedi...svg?uselang=ru

Добавлено через 15 часов 28 минут
Внимательно почитал ваше задание, вот решение. Сдёр с википедии. Опять таки посчитать для каждой и потом все сложить

Формула средних прямоугольников для аналитически заданной функции
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
#include <stdio.h>
#include <math.h>
 
double f(double x){ //Подынтегральная функция
   return sin(x); //Например, sin(x)
}
 
double rectangle_integrate(double a, double b, int n, double (*f)(double) ){
   double result, h;
   int i;
 
   h = (b-a)/n; //Шаг сетки
   result = 0.0;
 
   for(i=1; i <= n; i++){
      result += f( a + h * (i - 0.5) ); //Вычисляем в средней точке и добавляем в сумму
   }
   result *= h;
 
   return result;
}
 
int main(void){
   double integral;
   integral=rectangle_integrate(0,2,100,f);
   printf("The value of the integral is: %lf \n", integral);
   return 0;
}
olesya_kalashni
0 / 0 / 0
Регистрация: 30.07.2012
Сообщений: 7
02.10.2012, 15:57  [ТС]     Написать программу, приближенно вычисляющую интеграл #3
Приближенное вычисление интеграла по формуле
прямоугольников. Написать программу, приближенно вычисляющую
интеграл по заданным вещественным числам a, b, c, d (a<b, c<d)
http://www.cyberforum.ru/cgi-bin/latex.cgi?\int_{c}^{d}arctg(x)^2 + \int_{0}^{3.14}sin(e^x) + \int_{a}^{b}e^(-(x^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
#include<iostream>
#include<conio.h>
#include <stdio.h>
#include <cmath>
using namespace std;
float f1(float x){
    return pow(atan(x),2);
}
float f2(float x){
    return sin(exp(x));
}
float f3(float x){
    return exp(-pow(x,2));
}
void main() 
 {
     setlocale(LC_ALL,"");
     int n;
     float h1,h2,h3, //шаг сетки
     S1=0,S2=0,S3=0,S;//значение интегралов
     float a,b,c,d;//пределы интегрирования
     const float m=0.0,k=3.14;
     float x;
     cout<<"Введите a(нижний предел интегрирования) "<<endl;
     cin>>a;
     cout<<"Введите b(верхний предел интегрирования) "<<endl; 
     cin>>b;
     cout<<"Введите c(нижний предел интегрирования) "<<endl;
     cin>>c;
     cout<<"Введите d(верхний предел интегрирования) "<<endl;
     cin>>d;
     cout<<"Введите количество отрезков"<<endl;
     cin>>n;
     if(a<b && c<d){
         h2=(k-m)/n;
         for (int i=0; i<n;i++){
             x=m+i*h2; 
             S2=S2+f2(x)*h2;
         }
         for(int i=0;i<n;i++){
             x=c+i*h1;
             S1=S1+f1(x)*h1;
         }
         for(int i=0;i<n;i++){
             x=a+i*h3;
             S3=S3+f3(x)*h3;}
         S=S1+S2+S3;
         cout<<"Интеграл равен "<<S;}
     else cout<<"вы ввели неправильные пределы интегрирования!!!"<<endl;
     getch();}
Andsteadur
152 / 136 / 3
Регистрация: 23.05.2009
Сообщений: 275
02.10.2012, 16:16     Написать программу, приближенно вычисляющую интеграл #4
не инициализированы значения h1, h3 как минимум
Yandex
Объявления
02.10.2012, 16:16     Написать программу, приближенно вычисляющую интеграл
Ответ Создать тему
Опции темы

Текущее время: 08:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru