Alex Bausk on engineering and unrelated learnings

Житїє

Matlab: статистические штучки для получения реализаций случайной величины

with one comment

Это первое (upd.: и единственное) сообщение, отосланное через ScribeFire, аддон к браузеру FireFox.
Так-с. Исходные данные. Предполагается, что читатель знаком с:

Предположим, что у нас есть случайная прочность R с параметрами m=350, s=30. Это выглядит так:

Функции распределения и функции плотности в Матлабе соответствуют команды

cdf('norm', x, Mean1, StdDev1)pdf('norm', x, Mean1, StdDev1)
Команда cdf(…) отвечает на вопрос “какова вероятность того, что реализация случайной переменной будет меньше, чем x?”
Но для задачи вероятностного расчета методом Монте-Карло нам нужно средство генерации множества реализаций нашей случайной прочности.
Для равномерного распределения такое средство одинаково в любом языке программирования и называется RND. И в Екселе тоже есть.
Для любого другого распределения для генерации случайных чисел нам нужна функция, обратная CDF, отвечающая на вопрос “какое число соответствует вероятности непревышения такой-то?”. Такой способ получения случайных чисел называется методом обратного преобразования.
Откуда нам взять такого зверя? На помощь приходит замечательный статистический пакет Stixbox, о котором я обещал написать :
>> MonteCarloData1 = rnorm(1000, 350, 30);
 >> Mean1 = mean(MonteCarloData1)
 Mean1 =349.9133
 >> StdDev1 = std(MonteCarloData1)
 StdDev1 =30.7880
Функция rnorm(количество_реализаций, среднее, стд_отклонение) выдает столько реализаций случайной величины с нормальным распределением, сколько нам заблагорассудится. С ее помощью и построена наложенная на рисунок гистограмма реализаций случайной величины (красненьким).
Аналогичные функции есть в этом пакете и для других известных распределений. Для задач вероятностного анализа расчетных моделей конструкций более чем достаточно. Спасибо за этот замечательный инструмент Андерсу Хольтсбергу.

Written by Alexander Bausk

February 22, 2008 at 9:28 pm

Posted in Матан, Надежность, Matlab

Tagged with

One Response

Subscribe to comments with RSS.

  1. Функции распределения и функции плотности в Матлабе соответствуют команды

    cdf(‘norm’, x, Mean1, StdDev1)pdf(‘norm’, x, Mean1, StdDev1)
    А можно подробнее как реализовать эти функции, спасибо.

    Тамара

    April 27, 2009 at 9:39 pm


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: