Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛЕКЦИИ(1-9) ЧИСЛЕННЫЕ МЕТОДЫ.doc
Скачиваний:
370
Добавлен:
29.05.2015
Размер:
8.35 Mб
Скачать

6.5. Вычисление интегралов методом Монте-Карло

Проиллюстрируем идеи метода Монте-Карло на примере вычисления определенного интеграла от функции, зависящей от одной переменной. Пусть нам необходимо вычислить интеграл (6.11) от некоторой заданной функции на интервале. В предыдущем разделе мы рассмотрели несколько различных формул интегрирования, в которых использовались значения функции, вычисляемые в равноотстоящих точках. Однако можно использовать и другой подход, суть которого легко понять из следующего примера.

Рис. 6.6

Представим себе прямоугольник высотой H и длиной b  a такой, что функция целиком лежит внутри данного прямоугольника (рис. 6.6). СгенерируемN пар случайных чисел, равномерно распределенных в данном прямоугольнике:

,. (6.29)

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

, (6.30)

где  число точек, удовлетворяющих условию ,N  полное количество точек, A  площадь прямоугольника.

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

, (6.31)

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

Отметим, что в отличие от данных методов погрешность метода Монте-Карло не зависит от размерности и меняется как . Следовательно, для достаточно большихd интегрирование по методу Монте-Карло будет приводить к меньшим погрешностям при тех же значениях N.

Пример 6.6. Вычисление интеграла методом Монте-Карло в пакетеMATLAB:

% задание координат вершит прямоугольника

>> Xmin=0;

>> Xmax=pi/2;

>> Ymin=0;

>> Ymax=1.5;

% генерация случайных координат

>> N=2000;

>> x=Xmin+(Xmax-Xmin)*rand(N,1);

>> y=Ymin+(Ymax-Ymin)*rand(N,1);

% подсчет числа точек, попавших под график функции

>> s=0;

>> for i=1:N

if y(i)<=feval(f,x(i))

s=s+1;

end;

end;

>> s*(Xmax-Xmin)*(Ymax-Ymin)/N % вычисление значения

% интеграла

ans =

1.0261

% вычисление интеграла в соответствие с (6.31)

>> Fr=feval(f,x);

>> (Xmax-Xmin)/N*sum(Fr)

ans =

1.0091

Лекция № 7. Методы обработки экспериментальных данных План

7.1. Метод наименьших квадратов

7.2. Нахождение приближающей функции в виде линейной функции и квадратичного трехчлена

7.3. Нахождение приближающей функции в виде других элементарных функций

7.4. Аппроксимация линейной комбинацией функций

7.5. Аппроксимация функцией произвольного вида

7.1. Метод наименьших квадратов

Пусть в результате измерений в процессе опыта получена таблица некоторой зависимости (табл. 7.1).

Таблица 7.1

x

f(x)

Требуется найти формулу, выражающую данную зависимость аналитически.

Один из подходов к решению данной задачи состоит в построении интерполяционного многочлена, значения которого будут в точках ,,…,совпадать с соответствующими значениямииз табл. 7.1. Однако совпадение значений в узлах может вовсе не означать совпадения характеров исходной и интерполирующей функций. Требование неукоснительного совпадения значений, тем более неоправданно, если значения функцийизвестны с некоторой погрешностью (рис. 7.1).

Рис. 7.1

Поставим задачу так, чтобы с самого начала обязательно учитывался характер исходной функции: найти функцию заданного вида

, (7.1)

которая в точках ,,…,принимает значения как можно более близкие к табличным значениям , ,…,.

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

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

, ,…,. (7.2)

Требование близости табличных значений , ,…,и значений (7.2) можно истолковать следующим образом. Будем рассматривать совокупность значений функциииз табл. 7.1 и совокупность значений (7.2) как координаты двух точекn-мерного пространства. С учетом этого задача приближения функции может быть переформулирована следующим образом: найти такую функцию заданного вида, чтобы расстояние между точками и было наименьшим. Воспользовавшись метрикой Евклидова пространства, приходим к требованию, чтобы величина

, (7.3)

была наименьшей. Это равносильно следующему: сумма квадратов

(7.4)

должна быть наименьшей.

Таблица 7.2

Окончательно задача приближения функции теперь формулируется следующим образом: для функции, заданной табл. 7.1, найти функциюопределенного вида так, чтобы сумма квадратов (7.4) была наименьшей. Эта задача называется приближением функции методом наименьших квадратов. В качестве приближающих функций в зависимости от характера точечного графика функциичасто используют функции, представленные в табл. 7.2. (Здесьa, b, m  неизвестные параметры)

Когда вид приближающей функции установлен, задача сводится к отысканию значений параметров.

Рассмотрим метод нахождения параметров приближающей функции в общем виде на примере приближающей функции, зависящей от трех параметров:

. (7.5)

Имеем

, (7.6)

Сумма квадратов разностей соответствующих значений функций иимеет вид:

. (7.7)

Сумма является функцией трех переменных. Используя необходимое условие экстремума:

,

получаем систему уравнений

,

, (7.8)

.

Решив систему (7.8) относительно параметров a, b, c, получаем конкретный вид функции . Изменение количества параметров не приведет к изменению сути самого подхода, а выразится в изменении количества уравнений в системе (7.8).

Значения разностей

(7.9)

называют отклонениями измеренных значений от вычисленных по формуле (7.5).