Dotproductrekenmachine

Inwendig product
Volgende

Het scalaire product brengt twee vectoren samen tot één enkele scalaire waarde die aangeeft in hoeverre ze in dezelfde richting wijzen. Het vormt de basis voor de cosinusgelijkenis bij zoekrangschikking, voor projecties in de natuurkunde en voor elke verlichtingsberekening in computergraphics. Dit hulpmiddel berekent het scalaire product van twee vectoren met dezelfde dimensie (2D, 3D, N-D) en toont de cosinus van de hoek tussen beide.

Hoe berekent u een scalaarproduct?

  1. 1

    Voer beide vectoren in

    Gebruik typecomponenten gescheiden door komma's of ruimtes: `3, 4, 5` voor de ene vector en `1, 2, 1` voor de andere.

  2. 2

    Overeenstemming van afmetingen

    De vectoren moeten dezelfde lengte hebben. Het hulpmiddel merkt onovereenkomsten op voordat het berekeningen uitvoert.

  3. 3

    Kijk naar het resultaat

    Het scalaire product wordt weergegeven samen met de cosinus van de hoek (cos θ) en de hoek zelf in graden.

De twee formules

Componentvorm voor de vectoren a = (a1, a2, ..., an) en b = (b1, b2, ..., bn):

a . b = a1*b1 + a2*b2 + ... + an*bn

Geometrische vorm:

a . b = |a| * |b| * cos(theta)

De twee uitdrukkingen zijn gelijk; wanneer je ze gelijk stelt, krijg je cos(theta) = (a.b) / (|a| |b|), de formule voor cosinusgelijkenis.

Wat het teken u vertelt

Scalair product Betekenis
Positief De vectoren wijzen ongeveer in dezelfde richting (hoek < 90°)
Nul De vectoren staan loodrecht op elkaar (orthogonaal)
Negatief De vectoren wijzen ongeveer in tegengestelde richtingen (hoek > 90°)

Uitgewerkt voorbeeld

a = (3, 4), b = (1, 2):

  • Componenten: 3×1 + 4×2 = 3 + 8 = 11
  • |a| = √(9 + 16) = 5
  • |b| = √(1 + 4) = √5 ≈ 2,236
  • cos(θ) = 11 / (5 × 2,236) = 0,9839
  • θ = arccos(0,9839) ≈ 10,3 graden

De vectoren wijzen bijna in dezelfde richting, vandaar het grote positieve scalaire product.

Veelgebruikte toepassingen

  • Cosinusgelijkenis voor aanbevelingssystemen: hoe vergelijkbaar zijn twee embeddingvectoren?
  • Projectie van een vector op een andere: proj_b(a) = (a . b) / |b|^2 * b.
  • Arbeid in de natuurkunde: W = F . d, het scalaire product van kracht en verplaatsing.
  • Grafische verlichting: het scalaire product van de oppervlaktenormaal en de lichtrichting geeft de diffuse helderheid (wet van Lambert).
  • Orthogonaliteitscontrole: controleer snel of twee basisvectoren loodrecht op elkaar staan.

Tips

  • Normaliseer eerst voordat je vergelijkt. Als u alleen in de richting (gelijkenis) geïnteresseerd bent, deelt u elke vector eerst door zijn grootte; dan is het scalaire product direct gelijk aan de cosinus.
  • Let op de dimensie. Het scalaire product van een 3-vector met een 4-vector is niet gedefinieerd; vul bewust aan of kap bewust af, niet per ongeluk.
  • Numerieke stabiliteit. Bij zeer grote vectoren kan de optelling in drijvendekommagetallen aan precisie verliezen; gebruik dubbele precisie of Kahan-sommatie wanneer de dimensie meer dan enkele duizenden bedraagt.

Veelgestelde vragen

Het dotproduct geeft een scalaar terug en meet hoe parallel twee vectoren zijn; het kruisproduct (enkel gedefinieerd in 3D en 7D) geeft een vector terug die loodrecht op beide vectoren is en meet hoe sterk deze loodrechtheid is. Ze beantwoorden tegenovergestelde vragen.

Ja, voor elke dimensie N. De componentgewijze definitie kan rechtstreeks worden toegepast en wordt dagelijks gebruikt in machine learning bij vectoren met honderden of duizenden dimensies.

Aangezien de geometrische vorm |a| |b| cos(theta) gelijk is aan nul wanneer cos(θ) = 0 – wat optreedt bij 90 en 270 graden – zijn twee niet-nul vectoren orthogonaal precies wanneer hun scalaarproduct nul is.

De vectorcomponenten die u invoert, worden naar onze server verzonden omdat de berekening daar plaatsvindt. Ze worden niet opgeslagen of aan uw account gekoppeld.

Gerelateerde tools

Tool beschikbaar in andere talen