Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Vektorien Toteutus Pythonissa | Lineaarialgebran Perusteet
Matematiikka Data-analytiikkaan

bookVektorien Toteutus Pythonissa

Vektorien määrittely Pythonissa

Pythonissa käytetään NumPy-taulukoita 2D-vektorien määrittelyyn seuraavasti:

1234567
import numpy as np v1 = np.array([2, 1]) v2 = np.array([1, 3]) print(f'v1 = {v1}') print(f'v2 = {v2}')
copy

Nämä edustavat vektoreita:

v1=(2,1),v2=(1,3)\vec{v}_1 = (2, 1), \quad \vec{v}_2 = (1, 3)

Näitä voidaan nyt laskea yhteen, vähentää tai käyttää pistetulon ja itseisarvon laskemiseen.

Vektorien yhteenlasku

Vektorien yhteenlaskeminen:

1234567
import numpy as np v1 = np.array([2, 1]) v2 = np.array([1, 3]) v3 = v1 + v2 print(f'v3 = v1 + v2 = {v3}')
copy

Tämä suorittaa laskun:

(2,1)+(1,3)=(3,4)(2, 1) + (1, 3) = (3, 4)

Tämä vastaa vektorien yhteenlaskun sääntöä:

a+b=(a1+b1,  a2+b2)\vec{a} + \vec{b} = (a_1 + b_1, \; a_2 + b_2)

Vektorin pituus (suuruus)

Vektorin pituuden laskeminen Pythonissa:

np.linalg.norm(v)

Vektorille [3, 4]:

123
import numpy as np print(np.linalg.norm([3, 4])) # 5.0
copy

Tämä käyttää kaavaa:

a=a12+a22|\vec{a}| = \sqrt{a_1^2 + a_2^2}

Pistetulo

Pistetulon laskeminen:

123
import numpy as np print(np.dot([1, 2], [2, 3]))
copy

Joka antaa:

[1,2][2,3]=12+23=8[1, 2] \cdot [2, 3] = 1 \cdot 2 + 2 \cdot 3 = 8

Pistetulon yleinen sääntö:

ab=a1b1+a2b2\vec{a} \cdot \vec{b} = a_1 b_1 + a_2 b_2

Vektorien visualisointi Matplotlibilla

Voit käyttää Matplotlibin quiver()-funktiota piirtääksesi nuolia, jotka esittävät vektoreita ja niiden tulovektoria. Jokainen nuoli näyttää vektorin sijainnin, suunnan ja pituuden.

  • Sininen: v1\vec{v}_1, piirretään origosta;
  • Vihreä: v2\vec{v}_2, alkaa v1\vec{v}_1-vektorin päästä;
  • Punainen: tulovektori, piirretään origosta lopulliseen kärkeen.

Esimerkki:

123456789101112131415161718
import matplotlib.pyplot as plt fig, ax = plt.subplots() # v1 ax.quiver(0, 0, 2, 1, color='blue', angles='xy', scale_units='xy', scale=1) # v2 (head-to-tail) ax.quiver(2, 1, 1, 3, color='green', angles='xy', scale_units='xy', scale=1) # resultant ax.quiver(0, 0, 3, 4, color='red', angles='xy', scale_units='xy', scale=1) plt.xlim(0, 5) plt.ylim(0, 5) plt.grid(True) plt.title('Vector Addition (Head-to-Tail Method)') plt.show()
copy

Parametrit (ensimmäisen quiver-kutsun perusteella):

ax.quiver(0, 0, 2, 1, color='blue', angles='xy', scale_units='xy', scale=1)
  • 0, 0 – vektorin alkupiste (origo);
  • 2, 1 – vektorin komponentit x- ja y-suunnassa;
  • color='blue' – asettaa nuolen väriksi sinisen;
  • angles='xy' – piirtää nuolen käyttäen karteesisia koordinaatteja (x–y-taso);
  • scale_units='xy' – skaalaa nuolen samojen yksiköiden mukaan kuin akselit;
  • scale=1 – säilyttää nuolen todellisen pituuden (ei automaattista skaalausta).

Tämä kuvaaja esittää vektorien yhteenlaskun kärjestä kantaan -menetelmällä, jossa punainen vektori kuvaa summaa v1+v2\vec{v}_1 + \vec{v}_2.

question mark

Mikä koodi laskee oikein pistetulon [1,2][1,2] ja [2,3][2,3] välillä?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 2

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Awesome!

Completion rate improved to 1.96

bookVektorien Toteutus Pythonissa

Pyyhkäise näyttääksesi valikon

Vektorien määrittely Pythonissa

Pythonissa käytetään NumPy-taulukoita 2D-vektorien määrittelyyn seuraavasti:

1234567
import numpy as np v1 = np.array([2, 1]) v2 = np.array([1, 3]) print(f'v1 = {v1}') print(f'v2 = {v2}')
copy

Nämä edustavat vektoreita:

v1=(2,1),v2=(1,3)\vec{v}_1 = (2, 1), \quad \vec{v}_2 = (1, 3)

Näitä voidaan nyt laskea yhteen, vähentää tai käyttää pistetulon ja itseisarvon laskemiseen.

Vektorien yhteenlasku

Vektorien yhteenlaskeminen:

1234567
import numpy as np v1 = np.array([2, 1]) v2 = np.array([1, 3]) v3 = v1 + v2 print(f'v3 = v1 + v2 = {v3}')
copy

Tämä suorittaa laskun:

(2,1)+(1,3)=(3,4)(2, 1) + (1, 3) = (3, 4)

Tämä vastaa vektorien yhteenlaskun sääntöä:

a+b=(a1+b1,  a2+b2)\vec{a} + \vec{b} = (a_1 + b_1, \; a_2 + b_2)

Vektorin pituus (suuruus)

Vektorin pituuden laskeminen Pythonissa:

np.linalg.norm(v)

Vektorille [3, 4]:

123
import numpy as np print(np.linalg.norm([3, 4])) # 5.0
copy

Tämä käyttää kaavaa:

a=a12+a22|\vec{a}| = \sqrt{a_1^2 + a_2^2}

Pistetulo

Pistetulon laskeminen:

123
import numpy as np print(np.dot([1, 2], [2, 3]))
copy

Joka antaa:

[1,2][2,3]=12+23=8[1, 2] \cdot [2, 3] = 1 \cdot 2 + 2 \cdot 3 = 8

Pistetulon yleinen sääntö:

ab=a1b1+a2b2\vec{a} \cdot \vec{b} = a_1 b_1 + a_2 b_2

Vektorien visualisointi Matplotlibilla

Voit käyttää Matplotlibin quiver()-funktiota piirtääksesi nuolia, jotka esittävät vektoreita ja niiden tulovektoria. Jokainen nuoli näyttää vektorin sijainnin, suunnan ja pituuden.

  • Sininen: v1\vec{v}_1, piirretään origosta;
  • Vihreä: v2\vec{v}_2, alkaa v1\vec{v}_1-vektorin päästä;
  • Punainen: tulovektori, piirretään origosta lopulliseen kärkeen.

Esimerkki:

123456789101112131415161718
import matplotlib.pyplot as plt fig, ax = plt.subplots() # v1 ax.quiver(0, 0, 2, 1, color='blue', angles='xy', scale_units='xy', scale=1) # v2 (head-to-tail) ax.quiver(2, 1, 1, 3, color='green', angles='xy', scale_units='xy', scale=1) # resultant ax.quiver(0, 0, 3, 4, color='red', angles='xy', scale_units='xy', scale=1) plt.xlim(0, 5) plt.ylim(0, 5) plt.grid(True) plt.title('Vector Addition (Head-to-Tail Method)') plt.show()
copy

Parametrit (ensimmäisen quiver-kutsun perusteella):

ax.quiver(0, 0, 2, 1, color='blue', angles='xy', scale_units='xy', scale=1)
  • 0, 0 – vektorin alkupiste (origo);
  • 2, 1 – vektorin komponentit x- ja y-suunnassa;
  • color='blue' – asettaa nuolen väriksi sinisen;
  • angles='xy' – piirtää nuolen käyttäen karteesisia koordinaatteja (x–y-taso);
  • scale_units='xy' – skaalaa nuolen samojen yksiköiden mukaan kuin akselit;
  • scale=1 – säilyttää nuolen todellisen pituuden (ei automaattista skaalausta).

Tämä kuvaaja esittää vektorien yhteenlaskun kärjestä kantaan -menetelmällä, jossa punainen vektori kuvaa summaa v1+v2\vec{v}_1 + \vec{v}_2.

question mark

Mikä koodi laskee oikein pistetulon [1,2][1,2] ja [2,3][2,3] välillä?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 2
some-alt