6 .х + 19 х + 40 х + 61 х + 82 х + 67 х + 40 quotient " ■ :,
О 1667 X + 0 Д389 X + 0 1157
remainder
2.079 х + 4 074
Для вычисления корней полинома р используется функция roots (р), более краткая форма — р.г. Поддерживаются также операции дифференцирования (polyderO) и интегрирования полиномов (polyintO).
import numpy as np p = np.polyld([1, 2, 3, 4]) print ’pAn’, p r = np.roots(p)
print ’roots An’, np.roots(p)
print ’polynom:\n’, np.poly(r)
print ’second derivate:’, np.polyder(p, 2)
ШШХШШШШШШШВШ
..[-1 650629194-0 —0.17468540 -1 5468688Ш
second derivate
Й;-::
Здесь функция polyO вычисляет полином по заданным корням.
Другие возможности NumPy
Пакет NumPy включает другие мощные средства, ориентированные, прежде всего на работу с массивами различной природы. В частности, можно отметить методы сортировки и поиска. С учетом нашей ориентации на научные вычисления отдельного упоминания заслуживают методы быстрого преобразования Фурье. Более подробно мы будем говорить о них ниже при рассмотрении пакета SciPy.
Основной модуль генерации случайных чисел в Python random является частью стандартной библиотеки Python. Для подготовки больших случайных выборок используется модуль random в пакете NumPy. В этом модуле имеются функции для генерации массивов случайных чисел различных распределений и свойств.
Для создания массива случайных чисел, равномерно распределенных на (0,1), используется функция rand О. Функция randintO дает массив заданной формы равномерно распределенных чисел из заданного интервала.
import numpy as np a = np.random.rand(2, 3)
print ’random uniform distribution values a:\n’, a b = np.random.randint(0, 100, (2, 5)) print ’random integers b:\n’, b
random uniform distribution values a 11 0 45907951 0 96193664 0 7795528 )
0.85306773 0.09342406 0 7993124СЦ
random integers b 1(64 68 34 23 8]
[38 19 90 43
Имеются функции для получения массивов случайных чисел, которые подчиняются тем или иным законам. Например, для получения нормально распределенных чисел (распределение Гаусса) используется функция normal О, первый аргумент которой есть заданное среднее (математическое ожидание), второй -- стандартное отклонение.
import numpy as np
a = np.random.normal(0, 1, (2, 4))
print ’random normal distribution values a:\n’, a
random normal distribution values a [ [ 0,01195366 0 671863 -0 62463833 -1 29743642]
: f 0 73578021 .-1 31941736 0,5853565 -1 54383744]]
Отмстим некоторые возможности пакета NumPy по статистической обработке данных. Имеются функции для вычисления минимальных и максимальных значений всего массива или его отдельной оси (amaxO, aminO), средних значений (meanO, medianO) и стандартное отклонение (stdO).
import numpy as np
a = np. array ([ [8, 1, 7], [3, 9, 2]])
print ’array a:\n’, a
print ’max of a:’, np.amax(a)
print ’average of a:’, np.mean(a)
print ’standard deviation:’, np.std(a)
print ’average along axis 1:’, np.mean(a, 1)
Есть также возможность рассчитать корреляции и гистограммы для заданных выборок случайных величин.
Пакет Matplotlib
Научная графика, базовые возможности Matplotlib, рисование графиков, элементы оформления, 1D графики, 2D графики, трехмерная визуализация.
Do'stlaringiz bilan baham: |