русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Теоретические сведения


Дата добавления: 2015-07-09; просмотров: 745; Нарушение авторских прав


Численное интегрирование (историческое название: (численная) квадратура) — вычисление значения определённого интеграла (как правило, приближённое). Под численным интегрированием понимают набор численных методов отыскания значения определённого интеграла.

Численное интегрирование применяется, когда:

1. Сама подынтегральная функция не задана аналитически. Например, она представлена в виде таблицы (массива) значений в узлах некоторой расчётной сетки.

2. Аналитическое представление подынтегральной функции известно, но её первообразная не выражается через аналитические функции. Например, f(x) = exp( − x2).

В геометрическом понимании определенный интеграл функции f(x) от a до b ( ) - это площадь фигуры, ограниченной самим графиком функции, осью x и пределами интегрирования a, b (см. рис. 3).

Существует множество способов вычислить определенный интеграл, но прежде чем разбираться с программой, рассмотрим сам метод.

Рис. 3. Геометрическое понимание определенного интеграла

Метод прямоугольников— метод численного интегрирования функции одной переменной, заключающийся в замене подынтегральной функции на многочлен нулевой степени, то есть константу, на каждом элементарном отрезке. Если рассмотреть график подынтегральной функции, то метод будет заключаться в приближённом вычислении площади под графиком суммированием площадей конечного числа прямоугольников, ширина которых будет определяться расстоянием между соответствующими соседними узлами интегрирования, а высота — значением подынтегральной функции в этих узлах.

Если отрезок является элементарным и не подвергается дальнейшему разбиению, значение интеграла можно найти по

1. Формуле левых прямоугольников:

2. Формуле правых прямоугольников:

3. Формуле прямоугольников (средних):



Составные квадратурные формулы

В случае разбиения отрезка интегрирования на элементарных отрезков, приведённые выше формулы применяются на каждом из этих элементарных отрезков между двумя соседними узлами. В результате, получаются составные квадратурные формулы

1. Для левых прямоугольников:

2. Для правых прямоугольников:

3. Для средних прямоугольников:

Формулу с вычислением значения в средней между двумя узлами точке можно применять лишь тогда, когда подынтегральная функция задана аналитически, либо каким-нибудь иным способом, допускающим вычисление значения в произвольной точке. В задачах, где функция задана таблицей значений остаётся лишь вычислять среднее значение между интегралами, посчитанными по формулам левых и правых прямоугольников соответственно, что приводит к составной квадратурной формуле трапеций.

Поскольку составные квадратурные формулы являются ни чем иным, как суммами, входящими в определение интеграла Римана, при они сходятся к точному значению интеграла. Соответственно, с увеличением точность получаемого по приближённым формулам результата возрастает.

Ниже произведено графическое сравнение различных методов прямоугольников.

Сравнение применения различных формул прямоугольников
Формула левых прямоугольников Формула средних прямоугольников Формула правых прямоугольников

Составные формулы для равномерных сеток

Равномерную сетку можно описать следующим набором формул:

где — шаг сетки.


 

Для равномерных сеток формулы прямоугольников можно записать в виде следующих формул Котеса:

1. Составная формула левых прямоугольников:

2. Составная формула правых прямоугольников:

Погрешность метода

Для формул правых и левых прямоугольников погрешность составляет

Для формулы прямоугольников (средних)

Для составных формул правых и левых прямоугольников на равномерной сетке:

Для составной формулы прямоугольников:

 

Описание алгоритма

Метод последовательных приближений, которым мы воспользуемся для решения этой задачи, состоит в многократном вычислении интеграла со все возрастающей точностью, - до тех пор, пока два последовательных результата не станут различаться менее чем на заданное число (скажем, eps = 0,001). Количество приближений нам заранее неизвестно (оно зависит от задаваемой точности), поэтому здесь годится только цикл с условием (любой из них).

Вычислять одно текущее значение для интеграла мы будем с помощью метода прямоугольников: разобьем отрезок [a,b] на несколько мелких частей, каждую из них дополним (или урежем - в зависимости от наклона графика функции на данном участке) до прямоугольника, а затем просуммируем получившиеся площади. Количество шагов нам известно, поэтому здесь удобнее всего воспользоваться циклом с параметром.

На рисунке 4 изображена функция f(x) = x2 (на отрезке [1,2]). Каждая из криволинейных трапеций будет урезана (сверху) до прямоугольника: высотой каждого из них послужит значение функции на левом конце участка. График станет "ступенчатым".

Рис. 4. Вычисление интеграла функции

Код программы

Program integral;

const

eps=0.001;

var

a,b: integer;

i: longint;

step: longint;

h: double;

s_nov, s_star: double;

 

function f (x: double): double;

begin

f:=x*x*x-3*x*x+4*x-1;

end;

 

BEGIN

step:=1;

a:=0;

b:=3;

h:=b-a;

s_nov:=f(a)*h;

repeat

здесь придется подумать (алгоритм вычисления интеграла)

until abs (s_nov-s_star)<=eps;

writeln ('Количество разбиений = ',step, '. Площадь на участке ',a:3,b:3, ' равна ', s_nov);

END.

 

Данная программа написана для нахождения интеграла функции
f(x)=x3-3x2+4x-1 на отрезке [0;3]. Точное значение определенного интеграла равно 8,25, что близко к вычисленному программой – 8,24945…


ЗАДАНИЕ

Решите свой вариант, необходимую информацию возьмите в таблице 1.

Таблица 1

№ варианта Определенный интеграл функции f(x) Приблизительное значение
9,8435
-0,9966
0,50355
4,5447
15,883
0,32514
0,90877
5,0196
2,8323
0,377
1,499
0,42158
0,81204
0,5297
0,0269
0,08502
0,11009
0,2309
0,0846
1,60366
или т.е. интеграл от функции Хевисайда

 

Модифицируйте исходный код программы так, чтобы можно было решить ваш вариант. Ниже представлен перечень функций достаточных для решения поставленной задачи:

Математическая лексема Синтаксис языка C++l Описание
Cos(x) double cos(double x) Косинус икс
Sin(x) double sin(double x) Синус икс
tg(x) double tan(double x) Тангенс икс
Arccos(x) double acos(double x) Арккосинус икс
Arcsin(x) double asin(double x) Арксинус икс
Arctg(x) double atan(double x) Арктангенс икс
ex double exp(double x) Экспонента в степени икс
Ln(x) double log(double x) Натуральный логарифм от переменной икс
Log(x) double log10(double x) Десятичный логарифм от переменной икс
xy double pow(double x, double y) Переменная икс в степени игрек
double sqrt(double x) Корень переменной икс
π   Число пи (~3,14159)


<== предыдущая лекция | следующая лекция ==>
Общие сведения | Аналіз шкідливих та небезпечних факторів


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.168 сек.