|
xi 1 |
|
|
1 |
|
|
|
i |
|
f (x)dx |
f (xi ) x |
f '(xi )( x)2 . |
(VI.24) |
||
2 |
|||||||
|
x |
|
|
|
|
||
|
i |
|
|
|
|
|
Из (VI.24) видно, что основной член погрешности на каждом
отрезке имеет порядок ( х)2 или в символической |
записи |
0(( х)2). Поскольку полное число отрезков равно N, a |
x = (b- |
a)/N , то полная погрешность метода левых прямоугольников
по |
порядку |
|
величины |
равна |
N i N ( x)2 |
0(N 1).Аналогично можно показать, |
что |
||
погрешность |
метода |
правых |
прямоугольников |
также |
пропорциональна 0( N 2 ) .
Погрешность формулы трапеций оценивается аналогичным образом. Так как значение интеграла на отрезке xi , xi 1
вычисляется по формуле f (xi ) f (xi 1) x / 2, то погрешность
равна: |
|
|
|
|
|
|
|
|
|
|
x |
|
|
1/ 2 f (x |
|
|
|
) x |
|
i |
ii 1f (x)dx |
i |
) f (x |
i 1 |
(VI.25) |
||||
|
|
|
|
|
|
|
|
||
|
|
x |
|
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
Заменив в (VI.25) первый член выражением (VI.23), значение функции в точке xi 1 будет разложением в ряд Тэйлора:
f (xi 1) f (xi ) f '(xi ) x 12 f ''(xi )( x)2
Раскрыв скобки и приведя подобные члены, обнаруживаем, что член, пропорциональный первой производной функции,
сокращается, |
и погрешность на одном отрезке |
равна |
|||
|
1 |
f ''(x)( x)3 |
0(( x)3 ) 0(N 3 ). Следовательно, |
полная |
|
4 |
|||||
|
|
|
|||
погрешность формулы трапеций на отрезке [а,b] по порядку величины равна 0(N 2 ).
148
Так как формула Симпсона основывается на приближении функции f(x) параболой, можно ожидать, что в данном случае погрешность по порядку величины будет определяться членами, пропорциональными третьей производной функции. Однако последовательное повторение действий, выполненных при оценке погрешности метода трапеций, показывает, что эти члены сокращаются в силу их симметричности, поэтому в разложении в ряд Тейлора следует удержать член,
пропорциональный f IV (x)( x)4 . Следовательно, погрешность формулы Симпсона на отрезке xi , xi 1 пропорциональна f IV (xi )( x)5 . , а полная погрешность на отрезке [а,b] по
порядку величины составляет 0(N 4 ).
Полезно получить оценку погрешности вычисления интеграла от функции, зависящей от двух переменных, который с геометрической точки зрения представляет собой объем фигуры под поверхностью, заданной функцией f(х,у). В прямоугольном приближении данный интеграл равен сумме объемов параллелепипедов с площадью основания х у и высотой, равной значению функции f(х,у) в одном из углов. Для определения погрешности разложим функцию f(х,у) в ряд Тейлора:
f (x, y) f (xi , yii ) fx '(xi , yi )(x xi ) fy '(xi , yi )(y yi ) , |
(VI.26) |
где fx ', f y ' частные производные по соответствующим |
|
переменным. Погрешность вычисления интеграла i |
равна |
i f (x, y)dxdy f (xi , yi ) x y. |
(VI.27) |
Подставив (VI.26) в (VI.27), выполнив интегрирование и приведя подобные члены, получаем, что член, пропорциональный f (xi , yi ), сокращается, а интеграл от
(x xi )dx дает ( х)2/2. Интеграл от данного выражения по dy дает еще один множитель y. Аналогичный вклад дает
149
интеграл от члена, пропорционального ( y yi ) . Так как
порядок погрешности |
у также |
составляет 0( х), то |
|||||
погрешность |
|
|
интегрирования |
по |
прямоугольнику |
||
xi x xi 1 , |
yi y yi 1 равна |
|
|
||||
i |
|
1 |
f x '(xi , yi |
) f y '(xi , yi ) ( x)3 . |
(VI.28) |
||
2 |
|||||||
|
|
|
|
|
|||
Из (VI.28) видно, что погрешность интегрирования по одному параллелепипеду составляет 0(( х)3). Так как имеется N параллелепипедов, полная погрешность по порядку величины
равна N( |
х)3. Однако в двумерном случае |
N ~ |
1 |
, поэтому |
||||
( x)2 |
||||||||
|
|
|
|
|
|
|
||
полная |
погрешность |
i ~ ( x) ~ 0(N-1/2 ). |
Напомним, что в |
|||||
одномерном |
случае |
полная |
погрешность |
метода |
||||
прямоугольников i ~ 0(N-1).
Аналогичные оценки для двумерных обобщений формул трапеций и Симпсона показывают, что они соответственно
равны 0(N-1) и 0(N-2 ) . Вообще можно показать, что если для одномерного случая погрешность составляет 0(N- ) , то в d- мерном случае она равна 0(N- /d ) .
6.5. Вычисление интегралов методом Монте-Карло
Проиллюстрируем идеи метода Монте-Карло на примере вычисления определенного интеграла от функции, зависящей от одной переменной. Пусть нам необходимо вычислить интеграл (VI.11) от некоторой заданной функции f(x) на интервале [а,b]. В предыдущем разделе мы рассмотрели несколько различных формул интегрирования, в которых использовались значения функции f(x), вычисляемые в
равноотстоящих точках. Однако можно использовать и другой подход, суть которого легко понять из следующего примера.
Рис. VI.7. К объяснению метода Монте-Карло
Представим себе прямоугольник высотой Н и длиной (b - а), такой, что функция f(x) целиком лежит внутри данного прямоугольника (рис. VI.7).
Сгенерируем N пар случайных чисел, равномерно распределенных в данном прямоугольнике:
a xi b , 0 yi H. |
(VI.29) |
Тогда доля точек (xi , yi ) , удовлетворяющих |
условию |
yi f (xi ), является оценкой отношения интеграла от функции
f(x) к площади рассматриваемого прямоугольника. Следовательно, оценка интеграла в данном методе может быть получена по формуле:
F |
A |
ns |
, |
(VI.30) |
|
||||
N |
|
N |
|
|
|
|
|
yi f (xi ), |
|
где ns— число точек, удовлетворяющих условию |
||||
N — полное количество точек, А — площадь прямоугольника. 151
150
Можно предложить и другой путь вычисления определенного интеграла, рассматривая его как среднее значение функции f(x) на отрезке [а,b]:
|
1 |
N |
|
|
FN (b a) |
f (xi ), |
(VI.31) |
||
|
||||
|
N i 1 |
|
||
где xi — последовательность случайных чисел с равномерным
законом распределения на отрезке [а,b] .
Отметим, что в отличие от ранее упомянутых методов погрешность метода Монте - Карло не зависит от размерности
и меняется как 0(N-1/2 ) . Следовательно, для достаточно
больших d интегрирование по методу Монте - Карло будет приводить к меньшим погрешностям при тех же значениях N.
/ 2
Пример VI.6. Вычисление интеграла sin(x)dx методом
0
Монте - Карло в пакете MATLAB.
Решение:
%задание координат вершит прямоугольника
» X min = 0;
» X max = pi/2; » Y min = 0;
» Y max =1.5;
%генерация случайных координат
»N=2000;
»x =X min+ (X max - X min) *rand (N, 1) ;
»y =Y min+(Y max - Y min) *rand (N,l) ;
% подсчет числа точек, попавших под график функции
»s=0 ;
»for i =l:N
if y(i)<=feval(f,x(i)) s=s+l;
end;
end;
» s* (Xmax-Xmin) * (Ymax-Ymin) /N % вычисление значения
% интеграла ans =
1.0261 ;
% вычисление интеграла в соответствие c (VI.31)
»Fr=feval(f ,х) ;
»(Xmax-Xmin) /N*sum(Fr) ans =
1.0091
153
152
VII. МЕТОДЫ ОБРАБОТКИ ЭКСПЕРИМЕНТАЛЬНЫХ ДАННЫХ
В данной главе изложим подход к решению задачи о среднеквадратичном приближении функции, заданной таблично, рассмотрим аппроксимацию элементарными функциями, линейными комбинациями элементарных функций и функциями произвольного вида, рассмотрим реализацию данных методов в пакете MATLAB.
7.1. Метод наименьших квадратов
Пусть в результате измерений в процессе опыта получена таблица некоторой зависимости f(x) (табл. VII.1).
Таблица VII.1
Исходные данные для метода наименьших квадратов
x |
x |
x2 |
… |
xn |
|
1 |
|
|
|
F(x) |
y1 |
y2 |
… |
yn |
Требуется найти формулу, выражающую данную зависимость аналитически. Один из подходов к решению данной задачи состоит в построении интерполяционного многочлена, значения которого будут в точках
x1, x2,…, xn
совпадать с соответствующими значениями f(x) из табл. VII.1. Однако совпадение значений в узлах может вовсе не означать совпадения характеров исходной и интерполирующей функций. Требование неукоснительного совпадения значений тем более не оправдано, если значения функций f(x) известны с некоторой погрешностью (рис. VII.1).
154
y
yn .
. . . .
.
y1
x
y0 
x0 x1 |
xn |
Рис. VII.1. К объяснению метода наименьших квадратов
Поставим задачу так, чтобы с самого начала обязательно учитывался характер исходной функции: найти функцию заданного вида
(VII.1)
которая в точках x1, x2,…, xn
принимает значения как можно более близкие к табличным значениям y1, y2,…, yn.
Следует отметить, что строгая функциональная зависимость для табл. VII.1. наблюдается редко, т. к. каждая из входящих в нее величин может зависеть от многих случайных факторов, поэтому обычно используют простые по виду аналитические функции.
Рассмотрим один из наиболее распространенных способов нахождения функции F(x). Предположим, что приближающая
функция F(x) в точках x1, x2,…, xn |
имеет значения |
y1, y2 ,..., y n . |
(VII.2) |
Требование близости табличных значений y1, y2,…, yn и значений (VII.2) можно истолковать таким образом. Будем рассматривать совокупность значений функции f(x) из табл. VII.1 и совокупность значений (VII.2) как координаты двух точек n-мерного пространства. С учетом этого задача приближения функции может быть переформулирована следующим
155
образом: найти такую функцию |
F(x) заданного вида, чтобы |
|||||
расстояние между точками |
M y1 , y2 ,..., yn |
и |
||||
|
|
|
|
было наименьшим. Воспользовавшись |
||
|
|
|||||
M y1, y2 |
,..., yn |
|||||
|
|
|
|
|
|
|
метрикой Евклидова пространства, приходим к требованию, чтобы величина
|
y2 |
2 |
|
y2 |
2 |
|
2 |
(VII.3) |
|
y1 |
|
y2 |
|
... yn yn |
, |
||||
|
|
|
|
|
|
|
|
|
|
была наименьшей. Это равносильно следующему: сумма квадратов
y1 |
y2 |
2 |
y2 |
y2 |
2 |
yn yn |
2 |
(VII.4) |
|
|
|
|
|
|
|
|
|
|
|
должна быть наименьшей.
Приведем окончательную формулировку задачи приближения функции f(x): для функции f(x), заданной табл. VII.1, найти функцию F(x) определенного вида так, чтобы сумма квадратов (VII.4) была наименьшей. Эта задача называется приближением функции методом наименьших квадратов. В качестве приближающих функций в зависимости от характера точечного графика f (x) часто используют функции, представленные далее. (Здесь а, b, т — неизвестные параметры.)
156
|
1 |
|
y ax b |
|||||
y ax b |
||||||||
|
|
|
|
|
||||
y ax2 bx c |
y a ln x b |
|||||||
y axm |
y a |
1 |
b |
|||||
|
||||||||
|
|
|
|
|
x |
|||
y aemx |
y |
|
x |
|
||||
ax b |
||||||||
|
|
|
|
|||||
Когда вид приближающей функции установлен, задача сводится к отысканию значений параметров.
Рассмотрим метод нахождения параметров приближающей функции в общем виде на примере приближающей функции, зависящей от трех параметров:
y F x, a,b,c . |
(VII.5) |
Имеем: |
|
F xi , a, b, c yi . |
(VII.6) |
Сумма квадратов разностей соответствующих значений функций f(x) и F(x) имеет вид:
n |
2 |
|
Ф a,b,c . |
|
|
yi F xi , a,b,c |
(VII.7) |
|
i 1 |
|
|
Сумма является функцией Ф(а,b,с) трех переменных. Используя необходимое условие экстремума:
Ф 0, Ф 0, Ф 0 ,
а b с
получаем систему уравнений:
n
yi F xi , а,b,c Fn xi , а,b,с 0,
i 1
157