|
Кирьянов. Самоучитель MathCad 11. Кирьянов д в
|
Скачать 10.75 Mb. Название | Кирьянов д в | Анкор | Кирьянов. Самоучитель MathCad 11.pdf | Дата | 28.04.2017 | Размер | 10.75 Mb. | Формат файла | | Имя файла | Кирьянов. Самоучитель MathCad 11.pdf | Тип | Реферат #6148 | Категория | Информатика. Вычислительная техника | страница | 26 из 36 |
|
Листинг Решение уравнения Пуассона с нулевыми граничными условиями 32 := G , Впервой строке листинга задается значение в двух следующих строках создается матрица правой части уравнения Пуассона, состоящая из всех нулевых элементов, за исключением одного, задающего расположение источника. В последней строке матрице G присваивается результат действия функции muitigrid. Обратите внимание, первый ее аргумент сопровождается знаком "минус, что соответствует записи правой части уравнения Пуас- Глава 13. Уравнения в частных производных 343 сона (11). Графики решения показаны на 13.16 ив виде трехмерной поверхности и линий уровня, соответственно. Уравнение Пуассона с произвольными граничными условиями В более сложных случаях, например для решения краевой задачи с ненулевыми условиями на границах, следует использовать другую встроенную функцию relax, имеющуюся в — матрица решения дифференциального уравнения в частных производных на квадратной области, полученного с помощью алгоритма релаксации для метода сеток , b , c , d , e — квадратные матрицы коэффициентов разностной схемы, аппроксимирующей дифференциальное уравнение квадратная матрица, задающая правую часть дифференциального уравнения — квадратная матрица граничных условий и начального приближения к решению — параметр численного алгоритма (спектральный радиус итераций Якоби 13.16. График поверхности решения уравнения Пуассона Рис. 13.17. График линий уровня решения уравнения Пуассона Параметр численного алгоритма характеризует скорость сходимости итераций. Он должен быть числом ото до 1. В матрице граничных условий v 12 984
Часть III. Численные методыобходимо задать только граничные элементы, исходя из значения краевых условий по периметру расчетной области. Прочие (внутренние) элементы этой матрицы служат для задания начального приближения к решению. Суть алгоритма релаксации сводится к тому, что входе итераций происходит проверка уравнений и соответствующая коррекция значений искомой функции в каждой точке. Если начальное приближение выбрано удачно, то можно надеяться, что алгоритм сойдется ("срелаксирует") к правильному решению. Внимание! Все матрицы, задающие как коэффициенты разностной схемы a , b , c , d , e граничные условия v, таки само решение должны иметь одинаковый размер соответствующий размеру расчетной области. При этом целое число обязательно должно быть степенью двойки: Решение уравнения Пуассона стремя источниками разной интенсивности при помощью функции relax приведено в листинге Листинг 13.7. Решение уравнения Пуассона с помощью функции := 32 О , 1 0 5 i := 0 .. к := 0 .. := Ь аса е := - 4 := G := r e l a x ас Первые три строки имеют тот же смысл, что ив предыдущем листинге. Только вместо одного источника тепла взято их другое распределение один сильный источник, один более слабый и один сток тепла. В следующих шести строках задаются коэффициенты разностной схемы. Отложим их обсуждение до последнего раздела этой главы, ограничившись утверждением, что для решения уравнения Пуассона коэффициенты должны быть взяты именно такими, как показано в листинге 13.7. В предпоследней строке задана матрица нулевых граничных условий и нулевых начальных приближений, а в последней матрице G присваивается результат действия функции Глава 13. Уравнения в частных производных. График полученного решения в виде линий уровня показан на рис 13.18. Решение уравнения Пуассона с помощью функции r e l a x (листинг Разностная схема для решения уравнения Пуассона Несмотря на отсутствие сведений в справочной системе Mathcad о решении других линейных дифференциальных уравнений в частных производных, кроме уравнения Пуассона, сделать это возможно с помощью той же функции (см. предыдущий разд Для этого нужно правильным образом задать коэффициенты разностной схемы. Начнем с пояснения выбора этих коэффициентов (см. листинг 13.7) для уравнения Пуассона. Согласно основным идеям метода сеток (см. разд. Разностные схемы этой главы для дискретизации обеих пространственных производных в уравнении следует использовать потри соседних узла вдоль каждой из координат. Поэтому уравнение Пуассона) может быть записано в разностной форме при помощи шаблона типа "крест" (рис В этом случае после приведения подобных слагаемых в разностных уравнениях коэффициенты разностной схемы будут такими, как показано возле узлов шаблона на этом рисунке (аналогичные коэффициенты для явной и неявных схем решения уравнения теплопроводности см. на рис. 13.6 и 13.11, соответственно). Теперь если Вы сравните полученные числа с константами, которые присвоены элементам матриц-аргументов функции relax (см. листинг 13.7), то увидите, что они как рази описывают вычисленные нами только что коэффициенты разностной схемы "крест. Таким образом, нетрудно сообразить, что с помощью встроенной функции relax можно решать и другие линейные дифференциальные уравнения в частных производных, которые можно аппроксимировать схемой типа "крестили схемой, являющейся ее состав Часть HI, Численные методы ной частью. Конечно, для того чтобы использовать эту встроенную функцию для другого уравнения, необходимо будет составить соответствующую разностную схему. к-1 i - 1 1• -i + 1 3 . 1 9 . Шаблон аппроксимации уравнения Пуассона "крест" Решение уравнения диффузии тепла при помощи функции Приведем пример применения встроенной функции relax для решения другого уравнения в частных производных (те. не уравнения Пуассона, для которого она изначально предназначена. Вычислим при помощи этой функции решение уже хорошо нам знакомого однородного линейного уравнения теплопроводности (см. разд. 13.1.2). Будем использовать явную разностную схему, шаблон которой изображен на рис. 13.6. Для того чтобы приспособить для явной схемы функцию relax, требуется только задать ее аргументы в соответствии с коэффициентами, показанными на шаблоне (см. тот же рис. 13.6). Программа, реализующая таким способом явную схему, представлена на листинге 13.8. Число Куранта в этом листинге обозначено переменной с, как и положено явной разностной схеме, она выдает устойчивое решение только для с<1. Листинг 13.8. Решение уравнения теплопроводностипри помощи функции r e l a xi := 0 .. С С О Глава 13, Уравнения в частных производных , G r e l a x ( a , b , c , d , e , F , v , . 5 ) 5 Результат действия листинга 13.8 показан на рис. 13.20 в виде трехмерной поверхности. Если сравнить 13.20 с рис. 13.4, полученным при расчетах по запрограммированной разностной схеме, тов графиках рис. 13.4 нетрудно узнать сечения этой поверхности плоскостями Еще раз подчеркнем, что использовать встроенную функцию можно только для тех уравнений, которые допускают построение разностной схемы типа «крест» (см. рис или составного фрагмента этой схемы. Рис. 13.20. Решение уравнения теплопроводности с помощью функции r e l a x (листинг В заключение разговора об уравнениях в частных производных, нельзя не сказать несколько слов об их визуализации. Результат решения динамических уравнений (зависящих от времени t) выглядит намного эффектнее, если будет представлен в виде анимации. Для создания анимационных роликов расчетное время следует выразить через константу FRAME И затем применить команду View / Animate (Вид / Анимация (как об этом рассказано в разд. "Создание 16).
ГЛАВА 14 МатематическаястатистикаMathcad имеет развитый аппарат работы с задачами математической статистики. С одной стороны, имеется большое количество встроенных специальных функций, позволяющих рассчитывать плотности вероятности и другие характеристики основных законов распределения случайных величин (см. разд Наряду с этим в Mathcad запрограммировано соответствующее количество генераторов псевдослучайных чисел для каждого закона распределения, что позволяет эффективно проводить моделирование методами Монте-Карло. Имеется возможность строить гистограммы и рассчитывать статистические характеристики выборок случайных чисел и случайных процессов, таких, как средние, дисперсии, корреляции и т. п (см.разд. 14.2). При этом случайные последовательности могут как создаваться генераторами случайных чисел, таки вводиться пользователем из файлов. В заключение главы рассматривается решение средствами Mathcad нескольких типичных примеров из области анализа случайных процессов (см. разд. 14.3) математической статистики (см. разд. 14.4). 14.1. Случайные величины Для моделирования различных физических, экономических и прочих эффектов широко распространены методы, называемые методами Монте- Карло. Их основная идея состоит в создании определенной последовательности случайных чисел, моделирующей тот или иной эффект, например, шум в физическом эксперименте, случайную динамику биржевых индексов и т. п. Для этих целей в Mathcad имеется ряд встроенных функций, реализующих различные типы генераторов псевдослучайных чисел. Согласно определению, случайная величина принимает то или иное значение, но какое конкретно, зависит от случайных обстоятельств опыта и зара- 350 Часть III. Численные методынее точно предсказано быть не может. Можно лишь говорить о вероятности принятия случайной дискретной величиной того или иного значения или о вероятности попадания непрерывной случайной величины в тот или иной числовой интервал (х,х+Дх). Вероятность ИЛИ Р ( Х ) ( Д Х ) , соответственно, может принимать значения ото (такое значение случайной величины совершенно невероятно) до (случайная величина заведомо примет значение от х до х+Дх). Соотношение называют законом распределения случайной величины, а зависимость р(х) между возможными значениями непрерывной случайной величины и вероятностями попадания в их окрестность называется ее плотностью вероятности (probability В Mathcad имеется ряд встроенных функций, задающих используемые в математической статистике законы распределения. Они вычисляют как значение плотности вероятности различных распределений по значению случайной величины х, таки некоторые сопутствующие функции. Все они, по сути, являются либо встроенными аналитическими зависимостями, либо специальными функциями. Большой интерес представляет наличие генераторов случайных чисел, создающих выборку псевдослучайных данных с соответствующим законом распределения. Рассмотрим подробно возможности на нескольких наиболее популярных законах распределения, аза- тем приведем перечень всех распределений, встроенных в Mathcad. 14.1.1. Нормальное (Гауссово) распределение В теории вероятности доказано, что сумма различных независимых случайных слагаемых (независимо от их закона распределения) оказывается случайной величиной, распределенной согласно нормальному закону (т. н. центральная предельная теорема Поэтому нормальное распределение хорошо моделирует самый широкий круг явлений, для которых известно, что на них влияют несколько независимых случайных факторов. Перечислим встроенные функции, имеющиеся в Mathcad для описания нормального распределения вероятностей — плотность вероятности нормального распределения — функция нормального распределения cnorm{x} — функция нормального распределения для — обратная функция нормального распределения — вектор м независимых случайных чисел, каждое из которых имеет нормальное распределение; • х — значение случайной величины; • р — значение вероятности — математическое ожидание — среднеквадратичное отклонение Глава 14. Математическая статистика 351 Математическое ожидание и дисперсия являются, по сути, параметрами распределения. Плотность распределения для трех пар значений параметров показана на рис. 14.1. Напомним, что плотность распределения задает вероятность попадания случайной величины в малый интервал от до х+Дх. Таким образом, например, для первого графика (сплошная линия) вероятность того, что случайная величинах примет значение в окрестности нуля, приблизительно в три раза больше, чем вероятность того, что она примет значение в окрестности А значения случайной величины, большие и меньшие -5, и вовсе маловероятны , 0 , 5 , 1) 2 ) 1) 0 0 . 4 . 2 / - 5 P \ 1 \ •'*•• X 5 -Рис 14.1. ПЛОТНОСТЬ вероятности нормальных распределений Функция распределения F(X) (cumulative probability) — это вероятность того, что случайная величина примет значение меньшее или равное х. Как следует из математического смысла, она является интегралом от плотности вероятности в пределах от дох. Функции распределения для упомянутых нормальных законов изображены на рис. 14.2. Функция, обратная (in- verse cumulative probability), называемая еще квантилем распределения позволяет по заданному аргументу р определить значение х, причем случайная величина будет меньше или равна х с вероятностью р. Примечание Здесь и далее графики различных статистических функций, показанные на рисунках, получены с помощью без каких-либо дополнительных выражений в рабочей области. Приведем несколько примеров, позволяющих почувствовать математический смысл рассмотренных функций на примере случайной величины х, распределенной по нормальному закону сист (листинги 14.1 — 14.5).
Часть III. Численные методы (х , 0 , 1) , • , 2) (x , 5 , 1 Рис. 14.2. Нормальные функции распределения Листинг 14.1. Вероятность того, что х будет меньше n o r m ( 1 . 8 8 1 , 0 , 1 ) = 0 . 9 Листинг квантиль нормального распределения ( 0 . 9 7 , 1 ) 1 . 8 8 1 ] Листинг 14.3. Вероятность будет больше ( 2 , 0 , 1 ) = 0 . 0 2 2 7 Листинг Вероятность того, что х будет находиться в интервале n o r m ( 3 , 0 , 1 ) - 0 . 0 2 1 3 — = Листинг 14.5. Вероятность того, что | <2 p n o r m ( 2 , 0 , 1 ) - p n o r m ( - 2 , 0 , 1 ) 0 . 9 5 4 2 0 . 9 5 Обратите внимание, что задачи двух последних листингов решаются двумя разными способами. Второй из них связан с еще одной встроенной функцией, называемой функцией ошибок (или интегралом или функцией Крампа).
Глава 14. Математическая статистиках функция ошибок; Математический смысл функции ошибок ясен из листинга 14.5. Интеграл вероятности имеет всего один аргумент, в отличии от функции нормального распределения. Исторически, последняя пересчитывалась через табулированный интеграл вероятности по формулам, приведенным в листинге для произвольных значений параметров и о (листинг Листинг 14.6. Вероятность того, что х в интервале з := 5 := 2 , , , о) = 0.092 e r f = Если Вы имеете дело с моделированием методами Монте-Карло, тов качестве генератора случайных чисел с нормальным законом распределения применяйте встроенную функцию rnorm. В листинге ее действие показано на примере создания двух векторов по элементов в каждом сне- зависимыми псевдослучайными числами и распределенными согласно нормальному закону. О характере распределения случайных элементов векторов можно судить по рис. 14.3. В дальнейшем мы будем часто сталкиваться с генерацией случайных чисел и расчетом их различных средних характеристик+ 4- 0 дар - 4 14.3. Псевдослучайные числа с нормальным законом распределения (листинг 14.7)
Часть III. Численные методы Листинг Генерация двух векторов с нормальным законом распределения о := 1 := Ом := 500 := rnorm , , ох , а. Равномерное распределение Самое простое распределение случайной величины — это распределение с постоянной вероятностью. Вероятность (b-a) при (а,Ь) и ро, для х вне интервала Эту плотность вероятности, наряду с прочими статистическими характеристиками, задают следующие встроенные функции (x,a,b) — плотность вероятности равномерного распределения функция равномерного распределения (p,a,b) — распределения — вектор м независимых случайных чисел, каждое из которых имеет равномерное распределение rnd (x) случайное число, имеющее равномерную плотность распределения на интервале (0,х); • х — значение случайной величины; • р — значение вероятности) — интервал, на котором случайная величина распределена равномерно. Псевдослучайные числа с равномерным законом распределения Глава 14. Математическая статистика 355Чаще всего в несложных программах применяется последняя функция, которая приводит к генерации одного псевдослучайного числа. Наличие такой встроенной функции в Mathcad — дань традиции, применяемой в большинстве сред программирования. Пример использования генератора вектора из случайных чисел показан на рис. 14.4, который получен заменой в двух последних строках листинга 14.7 генератора нормальных чисел на runif Плотность вероятности и функция равномерного распределения показаны на рис. 14.5. if X , 0 , 0 , 1) 1) 0 1 . 5 0 ) 0 / 1 X 1 4 . 5 . Плотность вероятности и функция равномерного распределения. Биномиальное распределение Приведем встроенные функции, описывающие еще одно распределение случайной величины, которая, в отличие от двух предыдущих, является не непрерывной, а может принимать лишь дискретные значения. Биномиальное распределение описывает последовательность независимых испытаний, каждое из которых может приводить к генерации определенного события с постоянной вероятностью р — плотность вероятности биномиального распределения (рис. 14.6); pbinom(k,n,p) — функция биномиального распределения qbinom(p,n,p) квантиль биномиального распределения — вектор независимых случайных чисел, каждое из которых имеет биномиальное распределение — дискретное значение случайной величины; • р — значение вероятности; • п — параметр распределения (количество независимых испытаний); • р — параметр распределения (вероятность единичного случайного события Часть III. Численные методы Примером биномиального распределения может служить кратное подбрасывание монеты. Вероятность выпадения орла или решки в каждом испытании равна ро, а суммарное количество выпадений, например орла, задается биномиальной плотностью вероятности. Приведем простой пример: если монета подбрасывалась 50 раз, то наиболее вероятное количество выпадений орла, как видно по максимуму плотности вероятности на составляет 25. Вероятность того, что орел выпадет 25 раз, составляет 50, 112, а, скажем, вероятность того, что 15 раз dbi- 0 . 2 10 , , 0 . 5 ) JL 0 . 1 - ! 0 1 4 . 6 . Плотность вероятности биномиального распределения. Другие статистические распределения Как легко заметить по рассмотренным трем распределениям, Mathcad имеет четыре основные категории встроенных функций. Они различаются написанием их первой литеры, а оставшаяся часть имени функций (ниже в списке функций она условно обозначена звездочкой) идентифицирует тот или иной тип распределения d*{x,par) плотность вероятности р — функция распределения q*(P,par) —- квантиль распределения — вектор независимых случайных чисел, каждое из которых имеет соответствующее распределение — значение случайной величины (аргумент функции); • р — значение вероятности список параметров распределения Глава 14. Математическая статистика 357Чтобы получить функции, относящиеся, например, к равномерному распределению, вместо * надо поставить unif и ввести соответствующий список параметров par. Он будет состоять в данном случае из двух чисел а,ь — интервала распределения случайной величины. Перечислим все типы распределения, реализованные в Mathcad, вместе сих параметрами, на этот раз обозначив звездочкой * недостающую первую букву встроенных функций. Некоторые из плотностей вероятности показаны на рис. J4.7. |
|
|