Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Implementering af Vektorer i Python | Grundlæggende Lineær Algebra
Matematik for Datavidenskab

bookImplementering af Vektorer i Python

Definition af vektorer i Python

I Python anvendes NumPy-arrays til at definere 2D-vektorer på følgende måde:

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

Disse repræsenterer vektorerne:

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

Disse kan nu lægges sammen, trækkes fra hinanden eller anvendes i beregning af prikprodukt og længde.

Vektoraddition

For at beregne vektoraddition:

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

Dette udfører:

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

Dette stemmer overens med reglen for vektoraddition:

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

Vektorlængde (Magnitude)

For at beregne længden i Python:

np.linalg.norm(v)

For vektoren [3, 4]:

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

Dette bruger formlen:

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

Prikprodukt

For at beregne prikproduktet:

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

Hvilket giver:

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

Generel regel for prikprodukt:

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

Visualisering af vektorer med Matplotlib

Du kan bruge funktionen quiver() i Matplotlib til at tegne pile, der repræsenterer vektorer og deres resultant. Hver pil viser position, retning og størrelse af en vektor.

  • Blå: v1\vec{v}_1, tegnet fra origo;
  • Grøn: v2\vec{v}_2, startende ved spidsen af v1\vec{v}_1;
  • Rød: resultantvektor, tegnet fra origo til det endelige punkt.

Eksempel:

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

Parametre (baseret på det første quiver-kald):

ax.quiver(0, 0, 2, 1, color='blue', angles='xy', scale_units='xy', scale=1)
  • 0, 0 – startpunkt for vektoren (origo);
  • 2, 1 – vektorens komponenter i x- og y-retning;
  • color='blue' – sætter pilens farve til blå;
  • angles='xy' – tegner pilen ved brug af kartesiske koordinater (x–y-plan);
  • scale_units='xy' – skalerer pilen i forhold til aksernes enheder;
  • scale=1 – bevarer pilens faktiske længde (ingen automatisk skalering).

Denne graf viser vektoraddition med hale-til-hoved-metoden, hvor den røde vektor repræsenterer summen v1+v2\vec{v}_1 + \vec{v}_2.

question mark

Hvilken kode beregner korrekt prikproduktet af [1,2][1,2] og [2,3][2,3]?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 2

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Awesome!

Completion rate improved to 1.96

bookImplementering af Vektorer i Python

Stryg for at vise menuen

Definition af vektorer i Python

I Python anvendes NumPy-arrays til at definere 2D-vektorer på følgende måde:

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

Disse repræsenterer vektorerne:

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

Disse kan nu lægges sammen, trækkes fra hinanden eller anvendes i beregning af prikprodukt og længde.

Vektoraddition

For at beregne vektoraddition:

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

Dette udfører:

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

Dette stemmer overens med reglen for vektoraddition:

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

Vektorlængde (Magnitude)

For at beregne længden i Python:

np.linalg.norm(v)

For vektoren [3, 4]:

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

Dette bruger formlen:

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

Prikprodukt

For at beregne prikproduktet:

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

Hvilket giver:

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

Generel regel for prikprodukt:

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

Visualisering af vektorer med Matplotlib

Du kan bruge funktionen quiver() i Matplotlib til at tegne pile, der repræsenterer vektorer og deres resultant. Hver pil viser position, retning og størrelse af en vektor.

  • Blå: v1\vec{v}_1, tegnet fra origo;
  • Grøn: v2\vec{v}_2, startende ved spidsen af v1\vec{v}_1;
  • Rød: resultantvektor, tegnet fra origo til det endelige punkt.

Eksempel:

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

Parametre (baseret på det første quiver-kald):

ax.quiver(0, 0, 2, 1, color='blue', angles='xy', scale_units='xy', scale=1)
  • 0, 0 – startpunkt for vektoren (origo);
  • 2, 1 – vektorens komponenter i x- og y-retning;
  • color='blue' – sætter pilens farve til blå;
  • angles='xy' – tegner pilen ved brug af kartesiske koordinater (x–y-plan);
  • scale_units='xy' – skalerer pilen i forhold til aksernes enheder;
  • scale=1 – bevarer pilens faktiske længde (ingen automatisk skalering).

Denne graf viser vektoraddition med hale-til-hoved-metoden, hvor den røde vektor repræsenterer summen v1+v2\vec{v}_1 + \vec{v}_2.

question mark

Hvilken kode beregner korrekt prikproduktet af [1,2][1,2] og [2,3][2,3]?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 2
some-alt