NumPy

NumPy (Numerical Python) är ett bibliotek till Python specialiserat på numeriska beräkningar.

Starta Spyder

Starta Spyder om du inte redan gjort det.

Python Console och prompten

Nere till höger i Spyder hittar du Python Console vilket är ett Python REPL.

Förenklad prompt

I alla kommande exempel kommer den förenklade prompten >>> användas och resultatprefixet kommer utelämnas. Följande exempel i Python Console:

In [1]: 1+1
Out[1]: 2

In [2]: 

, kommer i alla kommande exempel att se ut så här:

>>> 1+1
2
>>> 

Den första raden:

>>> 1+1

, betyder inte att du skall skriva skriva in >>> 1+1 i Python Console. Det betyder att du skall skriva in 1+1 efter prompten i Python Console.

En rad med endast >>>:

>>>

, betyder att en ny prompt kommer visas här i Python Console.

Importera NumPy

För att använda dig av NumPy behöver du först importera NumPy. Skriv in följande vid prompten i Python Console och tryck enter.

import numpy as np

Alla funktioner i NumPy finns nu tillgängliga under det kortare namnet np.

Array

En grundläggande datatyp i NumPy är array. Arrayer kan vara 1-dimensionella eller 2-dimensionella. Ett annat namn på 1-dimensionella arrayer i matematiken är vektor och ett annat namn på 2-dimensionella arrayer i matematiken är matris.

I denna korta introduktion kommer vi endast kika på 1-dimensionella arrayer (vektorer).I fortsättningen kommer vi kort och gått kalla en 1-dimensionell array (vektor) för array.

Skriv in följande i Python Console för att skapa en array med elementen 1, 3 och 7. Glöm inte att avsluta med enter.

np.array([1, 3, 7])

När du trycker på enter skapas arrayen och visas på nästa rad och sedan skrivs en ny prompt ut.

>>> np.array([1, 3, 7])
array([1, 3, 7])
>>>

Det går att lagra arrayer i variabler.

>>> a = np.array([1, 3, 7])

Denna gång visas inte arrayen efter att den skapats. För att visa arrayen skriver du a och trycket på enter.

>>> a
array([1, 3, 7])
>>> 

Multiplicera tal med array

Det går att multiplicera ett tal med en array. Detta gör så att alla värden i arrayen multipliceras med talet. I följande exempel multipliceras arrayen a med talet 3.

>>> a = np.array([1, 3, 7])
>>> 3*a
array([ 3,  9, 21])
>>>

I följande exempel multipliceras arrayen a med talet 100.

>>> 100*a
array([100, 300, 700])
>>> 

Addera arrayer

Arrayer kan adderas med varandra.

>>> a = np.array([1, 3, 7])
>>> a + a
array([ 2,  6, 14])
>>> 

Det går att kombinera multiplikation och addition.

>>> a + 2*a
array([ 3,  9, 21])
>>> 

Skapa array med hjälp av linspace

Med hjälp av linspace kan du enkelt skapa arrayer med värdet som är jämnt utspridda inom ett visst intervall.

I exemplet nedan skapas en array med 5 värden jämnt fördelade inom intervallet 1 till 3.

>>> np.linspace(1, 3, 5) 
array([1. , 1.5, 2. , 2.5, 3. ])
>>> 

I exemplet nedan skapas en array med 10 värden jämnt fördelade inom intervallet 1 till 10.

>>> np.linspace(1, 10, 10)
array([ 1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10.])                                
>>> 

Talet π

När du använder NumPy finns talet pi tillgängligt som np.pi.

>>> np.pi
3.141592653589793
>>> 

Sinus

I intervallet 0 till ser sinusfunktionen ut så här.

På x-axeln finns det markeringar vid 0, π/4, π/2, 3π/4, π, …, . Totalt är det 9 markeringar. Skapa en array med 9 element jämt fördelade inom intervallet 0, och .

>>> x = np.linspace(0, 2*np.pi, 9)
>>> x
array([0.        , 0.78539816, 1.57079633, 2.35619449, 3.14159265,
       3.92699082, 4.71238898, 5.49778714, 6.28318531])
>>>

Vi kan nu låta NumPy beräkna värdet på sinusfunktionen för alla värdet i arrayen.

>>> np.sin(x)
array([ 0.00000000e+00,  7.07106781e-01,  1.00000000e+00,  7.07106781e-01,
        1.22464680e-16, -7.07106781e-01, -1.00000000e+00, -7.07106781e-01,
       -2.44929360e-16])
>>>