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
Quizzes & Challenges
Quizzes
Challenges
/
Matematiikka Data-analytiikalle

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

Suggested prompts:

Can you explain how vector subtraction works in Python?

How do I interpret the plot generated by the code?

Can you show how to calculate the angle between two vectors?

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