|
|
|
И в библиотеке бывают рекламные паузы. |
Собственное значение определенного интеграла
находится методом прямоугольников. Отрезок [a,b] разбивается на n частей x0=a,x1=a+h, . . . ,xn=b с шагом h=(b-a)/n.
На каждом отрезке [xi,xi+1] вычисляется значения интеграла по формуле прямоугольников, таким образом:
Затем количество точек разбиения удваивается и производится оценка точности вычислений:
Rn=|S2n-Sn|
Если Rn > e, то колличество точек разбиения удваивается.
Наверх
Интегрирование методом трапеций с оценкой точности.
Собственное значение определенного интеграла
находится методом трапеций. Отрезок [a,b] разбивается на n частей x0=a,x1=a+h, . . . ,xn=b с шагом h=(b-a)/n.
На каждом отрезке [xi,xi+1] вычисляется значения интеграла по формуле трапеций, таким образом:
Затем количество точек разбиения удваивается и производится оценка точности вычислений:
Rn=|S2n-Sn|/3
Если Rn > e, то колличество точек разбиения удваивается. Для уменьшения времени, затрачиваемого на вычисления в алгоритме при получении S2n используется формула:
Наверх
Собственное значение определенного интеграла
находится методом Симпсона (парабол). Отрезок [a,b] разбивается на n=2m частей x0=a,x1=a+h, . . . ,xn=b с шагом h=(b-a)/n.
Вычисляются значения yi=F(xi) функции в точках xi и находится значение интеграла по формуле Симпсона:
S=Sn+Rn,где
Затем количество точек разбиения удваивается и производится оценка точности вычислений:
Rn=|S2n-Sn|/15
Если Rn > e, то колличество точек разбиения удваивается. Значение суммы 2(y1+y2+. . . +y2m-1) сохраняются, поэтому для вычисления интеграла при удвоенния количества точек разбиения требуется вычислять значения yi лишь в новых точках разбиения.
Наверх
Вычисление интеграла методом Симпсона от функции, заданой таблично.
Если заданы значения функции F(x) на интервале [a,b] y0,y1, . . ., yn в равностоящих точках и n четно, то приближенное значение интеграла вычисляется по формуле:
Наверх=
Задается значение n (на первом шаге n=2) и вычисляется приближенное значение интеграла по формуле трапеций (деленное на (b-a)):
Затем число n удваивается (k раз). Каждый раз значение S(1)n запоминается в массиве T[i].
Погрешность метода имеет порядок 2n+1 (e=1E-(2n+1))
Наверх
Вычисление криволинейного интеграла в комплексной области.
Процедура вычисляет значение криволинейного интеграла для комплексной переменной z.
с помощью конечной суммы Римана-Стильтьеса.
Процедура использует функции F1(x,y) и F2(x,y) как действительную и мнимую часть функции F(x), где x,y - действительная и мнимая часть аргумента, а функции Z1(x,y) и Z2(x,y) как действительную и мнимую часть функции z(t) определяющую контур по которому происходит интегрирование. И на выходе получаем значения s1,s2 - действительную и мнимую часть значения интеграла.
Наверх
Вычисление интеграла по двумерной области методом Монте-Карло.
Алгоритм мне прислал Nick Maslov. Функция вычисляет интеграл вида:
Мы будем считать, что область D вписана в квадрат [ax,bx]*[ay,by], тогда полагаем:
и используем для приближенного вычисления интеграла формулу
где (xi,yi) пара независимых равномерно распределенных случайных величин.
На вход функции подается параметры ax,ay,bx,by, которые определяют квадрат [ax,bx]*[ay,by], на плоскости в который вписана область D. В блок-схеме предполагается, что определена функция F(x,y) интеграл от которой необходимо вычислить, а так же функция D(x,y), которая принимает значение истина в случае, когда точка (x,y) принадлежит области интегрирования D и ложь в противном случае.
Параметр n опеределяет кол-во рассматриваемых точек и соответственно влияет на точность вычисления интеграла, но не следует брать его слишком большим иначе придется изменить алгоритм, так как может произойти переполнение при суммировании. Алгоритм нетрудно обобщить для вычисления интегралов от многомерных функций.
Алгоритмы получение случайных величин можно посмотреть здесь. В блок-схеме используется вызов функции Random для получения независимой равномерно распределенной случайной велечины из отрезка [0,1]. Наверх
|