Implementering av Vektorer i Python
Svep för att visa menyn
Definiera vektorer i Python
I Python används NumPy-arrayer för att definiera tvådimensionella vektorer enligt följande:
1234567import numpy as np v1 = np.array([2, 1]) v2 = np.array([1, 3]) print(f'v1 = {v1}') print(f'v2 = {v2}')
Dessa representerar vektorerna:
v1=(2,1),v2=(1,3)Dessa kan nu adderas, subtraheras eller användas i skalärprodukt- och längdberäkningar.
Vektoraddition
För att beräkna vektoraddition:
1234567import numpy as np v1 = np.array([2, 1]) v2 = np.array([1, 3]) v3 = v1 + v2 print(f'v3 = v1 + v2 = {v3}')
Detta utför:
(2,1)+(1,3)=(3,4)Detta överensstämmer med regeln för vektoraddition:
a+b=(a1+b1,a2+b2)Vektorns Magnitud (Längd)
För att beräkna magnituden i Python:
np.linalg.norm(v)
För vektorn [3, 4]:
123import numpy as np print(np.linalg.norm([3, 4])) # 5.0
Detta använder formeln:
∣a∣=a12+a22Skalärprodukt
För att beräkna skalärprodukten:
123import numpy as np print(np.dot([1, 2], [2, 3]))
Vilket ger:
[1,2]⋅[2,3]=1⋅2+2⋅3=8Allmän regel för skalärprodukt:
a⋅b=a1b1+a2b2Visualisering av vektorer med Matplotlib
Du kan använda funktionen quiver() i Matplotlib för att rita pilar som representerar vektorer och deras resultant. Varje pil visar position, riktning och storlek för en vektor.
- Blå: v1, ritad från origo;
- Grön: v2, startar vid spetsen av v1;
- Röd: resultantvektor, ritad från origo till slutlig spets.
Exempel:
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()
Parametrar (baserat på det första quiver-anropet):
ax.quiver(0, 0, 2, 1, color='blue', angles='xy', scale_units='xy', scale=1)
0, 0– startpunkt för vektorn (origo);2, 1– vektorkomponenter i x- och y-led;color='blue'– sätter pilens färg till blå;angles='xy'– ritar pilen med hjälp av kartesiska koordinater (x–y-plan);scale_units='xy'– skalar pilen enligt samma enheter som axlarna;scale=1– behåller pilens verkliga längd (ingen automatisk skalning).
Denna graf visar vektoraddition med huvud-till-svans-metoden, där den röda vektorn representerar summan v1+v2.
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal