Implementering 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:
1234567import numpy as np v1 = np.array([2, 1]) v2 = np.array([1, 3]) print(f'v1 = {v1}') print(f'v2 = {v2}')
Disse repræsenterer vektorerne:
v1=(2,1),v2=(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:
1234567import numpy as np v1 = np.array([2, 1]) v2 = np.array([1, 3]) v3 = v1 + v2 print(f'v3 = v1 + v2 = {v3}')
Dette udfører:
(2,1)+(1,3)=(3,4)Dette stemmer overens med reglen for vektoraddition:
a+b=(a1+b1,a2+b2)Vektorlængde (Magnitude)
For at beregne længden i Python:
np.linalg.norm(v)
For vektoren [3, 4]:
123import numpy as np print(np.linalg.norm([3, 4])) # 5.0
Dette bruger formlen:
∣a∣=a12+a22Prikprodukt
For at beregne prikproduktet:
123import numpy as np print(np.dot([1, 2], [2, 3]))
Hvilket giver:
[1,2]⋅[2,3]=1⋅2+2⋅3=8Generel regel for prikprodukt:
a⋅b=a1b1+a2b2Visualisering 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, tegnet fra origo;
- Grøn: v2, startende ved spidsen af v1;
- Rød: resultantvektor, tegnet fra origo til det endelige punkt.
Eksempel:
123456789101112131415161718import 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()
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.
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat