Опубликован: 22.12.2005 | Уровень: для всех | Доступ: платный
Лекция 5:

Численные алгоритмы. Матричные вычисления

< Лекция 4 || Лекция 5: 12345 || Лекция 6 >

Модуль RandomArray

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

Функция RandomArray.random() создает массивы из псевдослучайных чисел, равномерно распределенных в интервале (0, 1):

>>> import RandomArray
>>> print RandomArray.random(10)  # массив из 10 псевдослучайных чисел
[ 0.28374212  0.19260929  0.07045474  0.30547682  0.10842083  0.14049676
       0.01347435  0.37043894  0.47362471  0.37673479]
>>> print RandomArray.random([3,3])  # массив 3x3 из псевдослучайных чисел
[[ 0.53493741  0.44636754  0.20466961]
 [ 0.8911635   0.03570878  0.00965272]
 [ 0.78490953  0.20674807  0.23657821]]

Функция RandomArray.randint() для получения массива равномерно распределенных чисел из заданного интервала и заданной формы:

>>> print RandomArray.randint(1, 10, [10])
[8 1 9 9 7 5 2 5 3 2]
>>> print RandomArray.randint(1, 10, [10])
[2 2 5 5 7 7 3 4 3 7]

Можно получать и случайные перестановки с помощью RandomArray.permutation():

>>> print RandomArray.permutation(6)
[4 0 1 3 2 5]
>>> print RandomArray.permutation(6)
[1 2 0 3 5 4]

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

>>> print RandomArray.normal(0, 1, 30)
[-1.0944078   1.24862444  0.20415567 -0.74283403  0.72461408 -0.57834256
 0.30957144  0.8682853   1.10942173 -0.39661118  1.33383882  1.54818618
 0.18814971  0.89728773 -0.86146659  0.0184834  -1.46222591 -0.78427434
 1.09295738 -1.09731364  1.34913492 -0.75001568 -0.11239344  2.73692131
 -0.19881676 -0.49245331  1.54091263 -1.81212211  0.46522358 -0.08338884]

Следующая таблица приводит функции для других распределений:

Функция и ее аргументы Описание
F(dfn, dfd, shape=[]) F-распределение
beta(a, b, shape=[]) Бета-распределение
binomial(trials, p, shape=[]) Биномиальное распределение
chi_square(df, shape=[]) Распределение хи-квадрат
exponential(mean, shape=[]) Экспоненциальное распределение
gamma(a, r, shape=[]) Гамма-распределение
multivariate_normal(mean, cov, shape=[]) Многомерное нормальное распределение
negative_binomial(trials, p, shape=[]) Негативное биномиальное
noncentral_F(dfn, dfd, nconc, shape=[]) Нецентральное F-распределение
noncentral_chi_square(df, nconc, shape=[]) Нецентральное хи-квадрат распределение
normal(mean, std, shape=[]) Нормальное распределение
permutation(n) Случайная перестановка
poisson(mean, shape=[]) Пуассоновское распределение
randint(min, max=None, shape=[]) Случайное целое
random(shape=[]) Равномерное распределение на интервале (0, 1)
random_integers(max, min=1, shape=[]) Случайное целое
standard_normal(shape=[]) Стандартное нормальное распределение
uniform(min, max, shape=[]) Равномерное распределение

Заключение

В этой лекции рассматривался набор модулей для численных вычислений. Модуль Numeric определяет тип многомерный массив и множество функций для работы с массивами. Также были представлены модули для линейной алгебры и моделирования последовательностей случайных чисел различных распределений.

Ссылки

Сайт, посвященный Numeric Python: http://www.scipy.org/

< Лекция 4 || Лекция 5: 12345 || Лекция 6 >
Сергей Крупко
Сергей Крупко

Добрый день.

Я сейчас прохожу курс  повышения квалификации  - "Профессиональное веб-программирование". Мне нужно получить диплом по этому курсу. Я так полагаю нужно его оплатить чтобы получить диплом о повышении квалификации. Как мне оплатить этот курс?

 

Павел Ялганов
Павел Ялганов

Скажите экзамен тоже будет ввиде теста? или там будет какое то практическое интересное задание?

Мария Кравцова
Мария Кравцова
Россия, Сочи, РГПУ им. А.И.Герцена, 1997
Екатерина Архангельская
Екатерина Архангельская
Россия, СПбГУАП