Практикум j практическое примщенше численных методов



Download 2,15 Mb.
bet22/83
Sana06.07.2022
Hajmi2,15 Mb.
#750238
TuriПрактикум
1   ...   18   19   20   21   22   23   24   25   ...   83
Bog'liq
python

import numpy as np
aO = np.linspace(l.,10.,10)
print ’aO:\n’, aO
a2 = np.copy(aO)
al = np.reshape(aO, (2, 5))
print ’al:\n’, al
a2.shape = (-1,50
print ’a2:\n>, a2
a3 = np.resize(a2, (3, 4))
p
al


a2 :



a3 ;


1



1.
6

1
6.


2
7.


2.
7.


til!


10,



шяшятщ
iiiiiiiii


ill!!
Jo
и

rint ’a3:\n’, a3


;i|l

lllill

IIl|g|::|l

iifi

111

ISlill

lllill

ill:

111

lllflll

lllill

III






Здесь используется -1 при выборе формы массива (в нашем примере (2,-1)) для неявного задания числа элементов по одной оси массива — вычисляется по общему числу элементов.
Для изменения элемента массива используется доступ по индексу, а для части массива — получение среза. Некоторые основные возможности иллюстриру­ются следующим примером.
import numpy as np
a = np.reshape(np.1inspace(1,12,12),(3,4)) print ’a:\n’, a
print ’element (2,3): ’, a[2,3] print ’row 1: ’, a[l] print ’last row: ’, a[-1,:] print ’column 1: ’, a[:,1] print ’window 2x2: \n’, a[l:3,0:2]





Запись массива в файл (бинарный, NumPy формат, расширение .пру) произ­водиться функцией save (), а чтение из файла — load О.
import numpy as np
a = np.reshape(np.1inspace(1.,8.,8),(2,4))
print ’a:\n’, a
np.save(’c:/tmp/data.npy’, a)
al = np.load(’c:/tmp/data.npy’)
print ’al:\n’, al
Математический Python
При чтении и записи массивов в текстовый файл используются функции tofileO и fromfileO.
Математические функции
В N urn Ру реализованы стандартные арифметические операции над элемента­ми массивов (табл. 3.3).
Таблица 3.3 Арифметические операции над массивами
О
Функция
add(x,у) subtract^, у) multiply(x, у) divide(x, у) power(a:,y) negative(x)
писание

поэлементное сложение поэлементное вычитание поэлементное умножение поэлементное деление поэлементное возведение в степень изменение знака элементов массива
Примеры использования арифметических поэлементных операций над мас­сивами:
import пшпру as пр
аО = пр.1inspace(1., 10., 10).reshape(2, 5)
print 9аО:\п9, аО
al - пр.ones(10).reshape(2, 5)
al = np.add(al, 1.)
print ’alAn’, al
a2 = np.add(a0, al)
print ^An’, a2
a3 = np.multiply(aO, al)
print ’аЗАп’, a3
a4 = np.power(aO, al)
print ,a4:\n,> a4
аЗ v- .о

Численные 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

[ 36 49 64 81 100 ]]
Среди других функций для поэлементных операций над массивами отметим:
Тригонометрические: sin(x), cos(x), tan(x), arcsin(x), arccos(x), arctan(x), hypot(x, y), arctan2(x,?/), degrees(x), radians(x);
Гиперболические: sinh(x), cosh(x), tanh(x), arcsinh(x), arccosh(x), arctanh(x);
Экспоненциальные и логарифмические: exp(x), expml(x)
(= ехр(а:) - 1), log(a:), loglO(rc), log2(a;)) loglp(a:)(= log(l +ж)).
Другие функции соответствуют обозначениям математических функций в модуле math стандартной библиотеки Python (см. табл. 3.1).
import numpy as np
a0 = np.linspace(0., np.pi, 9)
print 9aO:\n9, aO
al = np.sin(aO)
print ’alAn’, al
a2 = np.cos(aO)
print ,a2:\n,> a2
a3 = np.multiply(al, al) + np.multiply(a2, a2) - 1. print ’аЗЛп’, a3
[ О 00000000е+00^; 3 82ё83432е^01 ,• i: 7.07106781е+01 ;V 9.23879533 е+01 i 1 QQQ0Q00беЯ-ОО ; Q 23879533-r-Qi :
7.07106781 е *-01 | 3 8268Д432е+ОГ | 1 22464680е+16] : ’
[ 1.00000000е+00 9.23879533ё-01;Д 07106781^01
3.82683 43 2 е—01 : 6.123 234 0 0 е—17 +-3.82683432 е~01
-7 07106781 ^ —01 —9.23879533е-til ^ :
аЗ : -J;;У;:J :i :::;;: i;;;i:■ i;:::;: ■'I
[0. 0. 0 0 0 0 0 0 0 ]
Для работы с массивами с комплексными элементами предназначены функ­ции: angle(x) (аналог функции phasc(x)), real(x), imag(x) и conj(x), которая возвращает массив с комплексно-сопряженными элементами.
import numpy as np
аО = np.1inspace(1., 10., 10).reshape(2, 5)
print ’аОЛп’, aO
al = np.add(aO, l.j)
print ’alAn’, al
a2 = np.conj(al)
print ’a2:\n’, a2
a3 = np.real(al)
print ’аЗЛп’, a3
a4 = np.imag(al)
М

print ’а4:\п’,

, а4
















й0






















И




llllltl

111

liiii










1

шшшш

КЕШ

111

liiii!










а!
и

1 +1 J

liiii

lllll

iilriifeisi

111

sliili




1

641 j

illlill

111

lljllllll

111

ililiii

lllBllllll

а2






















II

1 -1 г

llilil

llli:!

1111111

IB

lllll!

illllllillli

I

6.-l.j

7 -1

Ill

1111111

111!

ill!!

io -i j II

аЗ!






















и

1. 2

3

liiii

1111111










1

6 7.

8 ;

9

io II










a4 : ■ ■



атричные объекты

В вычислительной практике вместо N-мерных массивов часто удобнее опери­ровать с векторами и матрицами (одномерными и двумерными массивами). В частности, при программировании вместо поэлементных операций с массива­ми можно использовать матричные операции. Работа с матричными типами является вычислительной основой системы научных вычислений MATLAB.
В пакете NumPy помимо общего типа N-мерного массива (ndarray) имеют­ся подклассы векторных, матричных и тензорных объектов. Нас интересуют матричные объекты NumPy (matrix) в плане их использования при решении задач линейной алгебры. Здесь мы отметим особенности использования matrix в сравнении с ndarray. Можно заметить, что, с одной стороны, работа с масси­вами как с более общим типом данных дает больше возможностей. С другой стороны, матричные задачи часто самодостаточны для приложений и пет необходимости в расширенных возможностях работы с общими массивами.
Для матричных объектов возможна инициализация по строке, элементы мат­рицы задаются в соответствии с синтаксисом МАЛА В с пробелом в качестве разделителя для строки и разделителем ; для столбцов.
import numpy as np
a = np.mat(’l 2 3; 4 5 30
b = np.mat([[l, 2, 3], [4, 5, 6]])
print type (a), ’aAn’, a
print type(b), ’b:\n’, b
пяпннпвнмяшя
тЁшавашшаяиивявшяшшттшш

Download 2,15 Mb.

Do'stlaringiz bilan baham:
1   ...   18   19   20   21   22   23   24   25   ...   83




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish