Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Implementazione dei Vettori in Python | Fondamenti di Algebra Lineare
Matematica per la Data Science

bookImplementazione dei Vettori in Python

Definizione di vettori in Python

In Python, si utilizzano gli array di NumPy per definire vettori 2D come segue:

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

Questi rappresentano i vettori:

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

Questi possono ora essere sommati, sottratti o utilizzati per il prodotto scalare e il calcolo della magnitudine.

Somma di vettori

Per calcolare la somma di vettori:

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

Questo esegue:

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

Questo corrisponde alla regola per la somma di vettori:

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

Modulo (Lunghezza) di un Vettore

Per calcolare il modulo in Python:

np.linalg.norm(v)

Per il vettore [3, 4]:

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

Questo utilizza la formula:

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

Prodotto scalare

Per calcolare il prodotto scalare:

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

Che restituisce:

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

Regola generale del prodotto scalare:

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

Visualizzazione dei vettori con Matplotlib

È possibile utilizzare la funzione quiver() di Matplotlib per disegnare frecce che rappresentano i vettori e il loro risultante. Ogni freccia mostra la posizione, la direzione e la magnitudine di un vettore.

  • Blu: v1\vec{v}_1, disegnato dall'origine;
  • Verde: v2\vec{v}_2, che parte dalla punta di v1\vec{v}_1;
  • Rosso: vettore risultante, disegnato dall'origine fino alla punta finale.

Esempio:

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

Parametri (basati sulla prima chiamata a quiver):

ax.quiver(0, 0, 2, 1, color='blue', angles='xy', scale_units='xy', scale=1)
  • 0, 0 – punto di partenza del vettore (origine);
  • 2, 1 – componenti del vettore nelle direzioni x e y;
  • color='blue' – imposta il colore della freccia su blu;
  • angles='xy' – disegna la freccia utilizzando coordinate cartesiane (piano x–y);
  • scale_units='xy' – scala la freccia secondo le stesse unità degli assi;
  • scale=1 – mantiene la lunghezza reale della freccia (nessuna scala automatica).

Questo grafico mostra la somma vettoriale testa-coda, dove il vettore rosso rappresenta la somma v1+v2\vec{v}_1 + \vec{v}_2.

question mark

Quale codice calcola correttamente il prodotto scalare di [1,2][1,2] e [2,3][2,3]?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 2

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

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?

Awesome!

Completion rate improved to 1.96

bookImplementazione dei Vettori in Python

Scorri per mostrare il menu

Definizione di vettori in Python

In Python, si utilizzano gli array di NumPy per definire vettori 2D come segue:

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

Questi rappresentano i vettori:

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

Questi possono ora essere sommati, sottratti o utilizzati per il prodotto scalare e il calcolo della magnitudine.

Somma di vettori

Per calcolare la somma di vettori:

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

Questo esegue:

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

Questo corrisponde alla regola per la somma di vettori:

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

Modulo (Lunghezza) di un Vettore

Per calcolare il modulo in Python:

np.linalg.norm(v)

Per il vettore [3, 4]:

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

Questo utilizza la formula:

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

Prodotto scalare

Per calcolare il prodotto scalare:

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

Che restituisce:

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

Regola generale del prodotto scalare:

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

Visualizzazione dei vettori con Matplotlib

È possibile utilizzare la funzione quiver() di Matplotlib per disegnare frecce che rappresentano i vettori e il loro risultante. Ogni freccia mostra la posizione, la direzione e la magnitudine di un vettore.

  • Blu: v1\vec{v}_1, disegnato dall'origine;
  • Verde: v2\vec{v}_2, che parte dalla punta di v1\vec{v}_1;
  • Rosso: vettore risultante, disegnato dall'origine fino alla punta finale.

Esempio:

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

Parametri (basati sulla prima chiamata a quiver):

ax.quiver(0, 0, 2, 1, color='blue', angles='xy', scale_units='xy', scale=1)
  • 0, 0 – punto di partenza del vettore (origine);
  • 2, 1 – componenti del vettore nelle direzioni x e y;
  • color='blue' – imposta il colore della freccia su blu;
  • angles='xy' – disegna la freccia utilizzando coordinate cartesiane (piano x–y);
  • scale_units='xy' – scala la freccia secondo le stesse unità degli assi;
  • scale=1 – mantiene la lunghezza reale della freccia (nessuna scala automatica).

Questo grafico mostra la somma vettoriale testa-coda, dove il vettore rosso rappresenta la somma v1+v2\vec{v}_1 + \vec{v}_2.

question mark

Quale codice calcola correttamente il prodotto scalare di [1,2][1,2] e [2,3][2,3]?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 2
some-alt