Fedorenko-RP-Vvedenie-v-vychislitelnuyu-fiziku (810773), страница 12
Текст из файла (страница 12)
Пусть область й есть часть единичного куба, выделенная неравенствами й)(х) ж О, Р' = 1, 2, ..., у. Техника вычисления интеграла по й выглядит примерно так. Генерируется та же последовательность псевдослучайных чисел, равномерно распределенных в единичном кубе. Для каждой точки х проверяются неравенства а.(х ) жО, 1=1, 2, ..., у.
Если все они выполнены, / т.е. х Е й, вычисляется,((хи), которая прибавляется к накапливающейся сумме. Кроме того, ведется подсчет числа попавших в й точек. Пусть вычислено М случайных точек, К из которых попало в й, и накоплена соответствующая сумма "', у(х"'«). Среднее значение у в области й можно определить величиной 1 ~ ~ х 1 И Вместе с тем это среднее вычисляется методом Монте-Карло: К 'х' У(х «). Что касается меры шез й, то она приближенно равна К/М.
Итак, имеем формулу к ) у(х) «1х= — Х. у(х"'«) + е . с« »=! О погрешности е» известно, что это случайная величина, математическое ожидание ее модуля имеет оценку СРЧ'К; константа С зависит от гладкости ~. Кващзатуры высокой точности, В качестве 7 можно взять интерполяцнонный полипом 2,„(1), построенный на сетке (1„)„'" . За счет того или иного выбора узлов сетки можно получить соответствующие преимущества. Широко используются чебышевские сетки, обеспечивающие устойчивость чебышевских квадратур при больших л«', Отметим еще гауссовы квадратуры.
Они основаны на следующей идее. При любой сетке квадратура, в которой используется интерполяционный полипом 1.„, точна в классе полиномов степени не выше ЛР, Можно так подобрать узлы сетки, что квадратура станет точной в классе поли номов степени не выше 2ЛР+ 1. Узлы сеток и коэффициенты квадратурных формул вычислены для разных ПР на стандартном интервале ( — 1, 1). Их можно найти в справочниках по методам приближенных вычислений (гауссовы узлы и коэффициенты, чебышевские и некоторые другие).
58 основы вьгчислитвльиой млтвмлтики й 5. Численное интегрирование задачи Коши дпя систем обыкновенных днффвренцивпьных уравнвний Рассмотрим задачу Коши для системы дифференциальных уравнений. требуется найти функцию х(г), 0 ч г ч т, удовлетворяющую уравнению —,", =У(х, г), х(0) = х, Ок с<Т. (1) Здесь х — гримерный вектор, г(х, г) — заданная вектор-функция той же размерности, хо — заданная точка (данные Коши), Как известно, при весьма простых и общих предположениях о гладкости У решение задачи (1) существует н единственно. Хорошо также известно, что найти явное аналитическое выражение для х(г) удается в крайне редких случаях, н только для очень частных классов задач (например, линейных уравнений) имеются способы явного решения задачи Коши.
Сама же задача (!) — одна нз наиболее часто встречающихся в различных приложениях (в физике, механике, астрономии, биологии, экономике и тд.). К таким задачам приходят, изучая движения планет и ракет, эволюцию биологических и экономических систем. Рассмотрим мегоды приближенного интегрирования задачи Коши, начиная с самых простых и старых. Используем метод сеток, или, иначе, метод конечных разностей, являющийся одним из наиболее универсальных н общих (хотя н достаточно трудоемких) методов приближенного решения дифференциальных уравнений. Начнем с основных обьектов метода сеток. На интервале (О, Т(, на котором ищется решение, введем покрывающую его дискретную сетку точек О=Г <Г,<Г «...Гн=т, (Гь) и 0' Ради простоты в дальнейшем будем в основном использовать равномерную сетку с шагом т = Т)И: Г„= нт. Приближенное решение будем искать в виде сенгочной функции, т.е. в виде функции дискретного аргумента и; обозначим ее как (х„)„'" .
Напомним, что каждый х„есть р-мерный вектор. С содержательной точки зрения х„будет представлять (приближенно) значение искомой функции х(г) в узле г„: х„х(г„). Сеточная функция (х„) не может удовлетворять никакому дифференциальному уравнению, н нужно построить какие-то другие уравнения, из которых можно было бы найти функцию (х„) и притом так, чтобы она была приближенным решением исходной задачи. й 51 ИИТЕГРИУОЕАИИЕ ЗАДАЧИ КОШИ ДЛЯ СИСТЕМ ОДУ Такие уравнения (так называемые разностные уравнения) строятся очень просто: входящие в дифференциальные уравнения производные заменяются соответствующими разностями. Это можно сделать разными способами, и они приводят к разным уравнениям. Например, "=/(х„, 1„) (явная схема Эйлера), (2) = /(х„+„ 1„Ч,) (неявная схема Эйлера), (3) х„+1- х„„1 = /(х„, 1„) (схема с центральной разностью).
(4) Ограничимся пока этими простыми примерами, ниже мы рассмотрим и более сложные схемы. Первая проблема, с которой мы сталкиваемся при решении разностных уравнений, — зто фактическое определение х„. Во всех случаях значения х„определяются последовательно, слева направо. Особенно просто вычисляются х„ при использовании явной схемы Эйлера: л = О, 1, ..., Ф вЂ” 1.
х„ „ = х„ + т /(х„, 1„), Здесь х„известно (данные Коши). В правой части этой формулы используются уже найденные значения х„. В случае неявной схемы Эйлера ситуация несколько сложнее. Пусть значение х„уже найдено. Тогда хв м находится из уравнения х„„= х„+ т /(х„+,, 1„„), (5) которое являегся нелинейным относительно неизвестного х„+,, Правда, это слабая нелинейность, так как перед / стоит малый множитель т, что делает уравнение (5) не таким уж сложным. Интуитивно ясно, что х„+, мало Отличается от х„, т.е.
х„есть очень хорошее начальное приближение для какого-либо итерационного метода определения х„, (см. з 1). В схеме (4) мы сталкиваемся с характерным явлением: формальные порядки дифференциального и разносгного уравнений не совпадают. Под формальным порядком мы понимаем число произвольных постоянных в общем решении, или, если угодно, число дополнительных данных, полностью определяющих решение. В схемах Эйлера (2) и (3), как и в дифференциальном уравнении, достаточно задать х, чтобы все остальные значения х„хз, ... Определялись однозначно. В схеме (4) ситуация иная: только задав хв и х„мы опРеделим хз = хв + т /(х„1,) и т.д. бо ОСНОВЫ ВЫЧИСЛИТЕЛЬНОЙ МАТЕМАТИКИ Значение хо определяется постановкой задачи, х, формально можно задать каким угодно.
Фактически, конечно, если мы стремимся получить хорошие результаты, х, нужно задавать достаточно аккуратно. Например, приемлемым (ио не лучшим) является х, = хо. Лучше (и правильнее) вычислять х, по какой-либо более простой разносгной схеме, например по явной схеме Эйлера: х, = хо + т У(х«). Обсудим некоторые вопросы, естественно возникающие при построении и использовании разностных схем. Первый вопрос: чем следует руководствоваться при построении разностных уравнений? Интуитивно ясно, что разностные уравнения (2) — (4) имеют прямое отношение к исходному дифференциальному уравнению хотя бы потому, что в пределе (при т- 0) они переходят в (1).
Но это соображение нужно четко оформить и дать ему количественное выражение. Таковым будет фундаментальное в вычислительной математике понятие аппроксимации. Второй вопрос. Пусть разносгное уравнение явно «соответствует» дифференциальному. Но значит ли это, что его решение (х„) в какойто мере аппроксимнрует решение дифференциального уравнения? Так мы приходим к другому фундаментальному понятию — к сходи- мости разностной схемы. Правильнее и аккуратнее было бы сказать: сходимость решения разностного уравнения к решению дифференциального при т - О. Но мы будем использовать «жаргонное» выражение «сходимостьь. Перейдем к аккуратному оформлению этих понятий.
Рассмотрим ' следующие математические объекты: 1) дифференциальное уравнение — = Д2', Т), 2'(0) = х„ и его решение 2'(г); 2) ограничение функции 2'(г) на сетку (г„), т.е. сеточную функцию (2'„)„", где 2'„= 2'(г„); 3) разностное уравнение (например, явную схему Эйлера или еще какую-нибудь) и его решение (х„). Мы будем иметь дело с последовательностью сеток, соответствующих уменьшающимся шагам т - О, так что при стремлении к полной аккуратности следовало бы каждый объект пометить еще индексом т: 2"„, х„* н т.д. Этот индекс т неявно везде следует иметь в виду. 0 п р е д е л е н и е. Говорят, что разностное решение сходится, если Вш ~~2"„— х'„~~ = О, и = О, 1, ..., М=?Ут.