111 2 3] [4 5 6]]
11 , 2, 3] , [4 , 5, 6]]
При вычислениях часто используются специальные матрицы. В единичных матрицах элементы главной диагонали равны 1, а все остальные — 0, нулевые матрицы, у которых все элементы равны 0. Отметим также матрицы, все элементы которых равны 1. Для инициализации таких массивов в NumPy имеются соответствующие инструменты.
Функция zeros (sh, dt) позволяет сформировать массив с пулевыми элементами по форме sh и необязательному аргументу dt — тип элемента. Аналогично ones(sh, dt) формирует массив с единичными элементами. Для получения матрицы с единицами на главной диагонали и нулями для других элементов используется функция eye(n, т), для квадратной матрицы — еуе(п) или identity(п). Примеры генерации массивов:
import пшпру as пр
аО = np.zeros((2, 3), ’float’)
print ’ аО :.\п ’, аО
al = np.ones((3, 2), ’int’)
print ’al:\n’, al
a2 = np.eye(3, 2, dtype=int)
print ’a2:\n’, a2
a3 = np.identity(4, ’float’)
print ’a3:\n’, a3
П 0 0
ilfeilSIlli
[[11]
IT il II 1]]
in 0]
[0 1]
[0 oil
a3
Численные 1
ЧИСЛЕННЫЕ МЕТОДЫ 3
Содержание 5
Программное обеспечение 9
Элементы языка 21
| ’G \\Vab\\Python\\Testl \\src ’ , ’C-\\Program Files \\ ■/ NetBeans 6 7\\python! ’ , ’С Д \ Windows\\system32\\ python26 zip ’ , ’C^YPytho^G^DLLs’ , /С \\Python26\\lib ’ , 39
Математический Python 44
I 3 .4.II. ■ 61
И 0 ] 61
vs = Е 104
= np.zeros((m), ’float’) for i in range(0, m): 115
Прямые методы линейной алгебры 160
Итерационные методы линейной алгебры 173
ъВ <А< 72в, Ъ > 0, (5.16) 179
Спектральные задачи линейной алгебры 185
Шп {уШ’ук) = 1. 187
1||Й7б2ШШ&Ш 191
Нелинейные уравнения и системы 197
Задачи минимизации функций 206
/V) 207
Интерполирование и приближение функций 217
Численное интегрирование 228
Интегральные уравнения 239
Задача Коши для обыкновенных дифференциальных уравнений 252
= ^(/(Wi,r+1) + /(*»,»”)). п = 0,1,... 253
-£ = у*' 1Г = И1о < i < 100, 263
Краевые задачи для обыкновенных дифференциальных уравнений 265
М*)] = о, 266
Имеются специальные процедуры для формирования одномерных массивов (векторов). Функция arange(start, stop, step) формирует массив величин, начиная со start до (не включая) stop с шагом step. Такая копстрз щя подобна array (range (start, stop, step)), но работает не только с целыми числами. Функция linspace(start, stop, п) создаст одномерный массив с числом элементов п, значения которого равномерно распределены от start до (включая) stop.
import numpy as np
aO = np.array(range(1,10,3))
print ’a0:\n’, aO
al = np.arange(0.,10.,2.)
print ’al:\n’, al
a2 = np.linspace(0.,1.,11)
print ’al:\n’, a2
Имеются и некоторые дополнительные функции создания массивов (например, fromfileO, empty О), о которых вы можете узнать в документации по пакету NumPy.
Работа с массивами
Для копирования массивов можно использовать метод сору О, а изменить форму массива — shape(). Аналогичный результат достигается при вызове reshape(). Функция resize() аналогична reshape(), но работает и в случае, когда число элементов исходного и получаемого массивом не совпадает.
Do'stlaringiz bilan baham: |