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

Вычислить значение интеграла I с погрешностью E < 10-3 по формуле трапеций - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ что лучще использовать для большого массива тескста http://www.cyberforum.ru/cpp-beginners/thread814664.html
Добрый день. Столкнулся с проблемой со следующей проблемой мне надо выводить таблицу в текстовом формате где 10 столбцов и много строк (от 1 тыс. до 2000 тыс. строк) //вот что надо вывести в...
C++ Вычислить среднее арифметическое всех элементов матрицы, значения которых находятся в заданном промежутке Здравствуйуте:) , ни как не могу Написать программу, которая вычисляет среднее арифметическое всех элементов массива чисел, значения которых находятся в промежутке (80;190). Двумерный массив целых... http://www.cyberforum.ru/cpp-beginners/thread814640.html
C++, бинарное дерево. Как доработать программу? C++
Программа не работает. Смысл ее такой: из входного файла считать числа в линейный список, отсортировать (я сразу сортировала при считывании), создать из этих чисел бинарное дерево поиска. Да, тут...
C++ Численное интегрирование
Разработать программу «Численное интегрирование» различными методами: 1) по формуле трапеций; 2) по формуле Гаусса; 3) по формуле Чебышева. помогите пожалуйста решить задачу... за ранее...
C++ Определить количество последовательности натуральных чисел кратных числу М и заключенных в промежутке от L до N http://www.cyberforum.ru/cpp-beginners/thread814565.html
Определить количество последовательности натуральных чисел кратных числу М и заключенных в промежутке от L до N
C++ управление окнами доброго времени суток форумчане! кто сможет помогите пожалуйста! проблема в том чтобы создать окно с горизонтальной и вертикальной полосами прокрутки. При щелчке кнопки мыши по заголовку окна... подробнее

Показать сообщение отдельно
SDev
43 / 41 / 10
Регистрация: 15.03.2013
Сообщений: 89
21.03.2013, 16:58
Коротко: циклически выполняется расчет интеграла на интервале [a,b] с уменьшением h шага разбивки интервала.
Циклический процесс завершается когда значение интеграла при следующей итерации не меняется больше чем заданная погрешность Eps.
функцию func уже сами зададите.
в компилятор не загонял для проверки, просто набросал от руки.

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
double a,b,h,Eps,Err,Fa,Fb;
double Iprev,I;
int i,n;
a=10;
b=15;
n=10; // начальное значение разбивки интервала [a,b]
 
Eps=1e-3; // погрешность вычисления интеграла
Fa=func(a); // вычисление подынтегральной функции
Fb=func(b);
 
Iprev=0;// значение интеграла на предыдущей итерации
 
while( Err > Eps )
{
h=(b-a)/n;
 
S=0;
for(i=1; i<n; i++ )
{
  x=a+i*h;
  S+=func(x);
}
 
  I=h*((Fa+Fb)/2+S);// расчет интеграла для текущего шага разбивки h
 
  Err=fabs(I-Iprev); // изменение величины интеграла 
 
  Iprev=I;
  
  n=2*n;// увеличиваем разбивку в два раза
 
}
cout<<"Значение интеграла: "<< I;
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru