Hoe cross-product implementeren in MATLAB?

Hoe Cross Product Implementeren In Matlab



Het vinden van het product van twee vectoren is een veelgebruikte wiskundige en natuurkundige bewerking om veel wiskunde- en natuurkundetaken uit te voeren. Er zijn twee methoden om een ​​product van twee vectoren te bepalen. Eén is de scalair of puntproduct en de andere is de kruis- of vectorproduct . A scalair product is een fysieke grootheid die een scalaire waarde retourneert na vermenigvuldiging van twee vectoren. Ter vergelijking: de vectorproduct is een fysieke grootheid die een vector retourneert na vermenigvuldiging van twee vectoren.

Het berekenen van het product van grote vectoren is geen gemakkelijke taak. Het kan grote berekeningen en tijd vergen bij het handmatig berekenen ervan. In het huidige tijdperk van geavanceerde computerhulpmiddelen zijn we echter gezegend met MATLAB, dat in de kortst mogelijke tijd veel berekeningen maakt met behulp van de ingebouwde functies. Eén zo'n functie is de kruis() waarmee we het kruisproduct van twee vectoren kunnen bepalen.

Deze tutorial zal ontdekken:







Wat is het kruisproduct?

De kruisproduct van twee vectoren is een fysieke grootheid die wordt berekend door twee vectoren te vermenigvuldigen. Het retourneert een vector loodrecht op de gegeven twee vectoren. Als A En B zijn twee vectorgrootheden, hun kruisproduct C wordt gegeven als:





Waar C is ook een vectorgrootheid en staat loodrecht op beide A En B .





Waarom moeten we het kruisproduct bepalen?

De kruisproduct voert veel taken uit op het gebied van natuurkunde, wiskunde en techniek. Sommigen van hen worden hieronder gegeven.

De kruisproduct wordt gebruikt om te vinden:



  • De oppervlakte van een driehoek.
  • De hoek tussen twee vectoren.
  • Een eenheidsvector loodrecht op twee vectoren.
  • De oppervlakte van een parallellogram.
  • Collineariteit tussen twee vectoren.

Hoe het kruisproduct van twee vectoren in MATLAB implementeren?

MATLAB faciliteert ons met een ingebouwd kruis() functie om de kruisproduct van twee vectoren. Deze functie accepteert twee vectoren als verplichte invoer en levert hun vectoren kruisproductie t in termen van vectorhoeveelheid.

Syntaxis

De kruis() functie kan op de gegeven manieren in MATLAB worden geïmplementeerd:

C = kruis ( A, B )

C = kruis ( A,B,afm )

Hier,

De functie C = kruis(A,B) is verantwoordelijk voor de berekening van de kruisproduct C van de gegeven vectoren A En B .

  • Als A en B vectoren vertegenwoordigen, moeten ze a hebben maat gelijk aan 3 .
  • Als A en B twee matrices of multidirectionele arrays vertegenwoordigen, moeten ze dezelfde grootte hebben. In deze situatie is de kruis() functie beschouwt A en B als een verzameling vectoren met drie elementen en berekent hun kruisproduct langs de eerste afmeting met een afmeting gelijk aan 3.

De functie C = kruis(A,B,afm) is verantwoordelijk voor de berekening van de kruisproduct C van de gegeven twee arrays A en B langs de afmeting afm . Houd daar rekening mee A en B moeten twee arrays zijn met dezelfde grootte en maat(A,afm) , En maat(B,afm) moet gelijk zijn aan 3 . Hier, afm is een variabele die een positieve scalaire grootheid bevat.

Voorbeelden

Beschouw enkele voorbeelden om de praktische implementatie van het systeem te begrijpen kruis() functie in MATLAB.

Voorbeeld 1: Hoe bepaal je het kruisproduct van twee vectoren?

In dit voorbeeld berekenen we de kruisproduct C van de gegeven vectoren en met behulp van de kruis() functie.

EEN = [ - 7 9 2,78 ] ;

B = [ 1 0 - 7 ] ;

C = kruis ( A, B )

Nu kunnen we ons resultaat verifiëren C door het te nemen punt product met de vectoren A en B. Als C is loodrecht voor beide vectoren A en B het impliceert C is een kruisproduct van A en B . Wij kunnen de loodrechtheid van C met A en B door het te nemen punt product met A en B . Als de punt product van C met A en B gelijk aan 0. het impliceert C is loodrecht naar A en B .

punt ( C,A ) == 0 && punt ( C, B ) == 0

Na het uitvoeren van bovenstaande loodrechtheidstest, wij hebben een verkregen logische waarde van 1 dat impliceert dat de bovenstaande bewerking waar is. Daarom concluderen we dat de resulterende vector C vertegenwoordigt de kruisproduct van de gegeven vectoren A en B .

Voorbeeld 2: Hoe bepaal je het kruisproduct van twee matrices?

Het gegeven voorbeeld berekent de kruisproduct C van de gegeven matrices A, gemaakt met behulp van de magic() functie, en B , een matrix van willekeurige getallen, met behulp van de kruis() functie. Beide matrixen A En B zijn even groot.

EEN = magie ( 3 ) ;

B = rand ( 3 , 3 ) ;

C = kruis ( A, B )

Als gevolg hiervan verkrijgen we a 3 bij 3 Matrix C dat is de kruisproduct van A En B . Elke kolom van C vertegenwoordigt de kruisproduct van de respectievelijke kolommen van A En B . Bijvoorbeeld, C(:,1) is de kruisproduct van EEN(:,1) En B(:,1) .

Voorbeeld 3: Hoe vindt u het kruisproduct van twee multidirectionele arrays?

De gegeven MATLAB-code bepaalt de kruisproduct C van de gegeven multidirectionele arrays A , een array van willekeurige gehele getallen, en B , een reeks willekeurige getallen, met behulp van de kruis() functie. Beide arrays A En B zijn even groot.

A = rand ( 100 , 3 , 4 , 2 ) ;

B = rand ( 3 , 4 , 2 ) ;

C = kruis ( A, B )

Als gevolg hiervan verkrijgen we a 3 bij 4 bij 2 reeks C dat is de kruisproduct van A En B. Elke kolom van C vertegenwoordigt de kruisproduct van de respectievelijke kolommen van A En B . Bijvoorbeeld, C(:,1,1) is het kruisproduct van EEN(:,1,1) En B(:,1,1) .

Voorbeeld 4: Hoe vind je het kruisproduct van twee multidirectionele arrays langs de gegeven dimensie?

Overweeg arrays A En B van Voorbeeld 3 maat hebben 3 bij 3 bij 3 en gebruik de kruis() functie om hun te vinden kruisproduct langs afmeting afm=2 .

A = rand ( 100 , 3 , 3 , 3 ) ;

B = rand ( 3 , 3 , 3 ) ;

C = kruis ( EEN,B, 2 )

Als gevolg hiervan verkrijgen we a 3 bij 3 bij 3 reeks C dat is de kruisproduct van A En B . Elke rij van C vertegenwoordigt het kruisproduct van de respectieve rijen A En B. Bijvoorbeeld, C(1,,1) is het kruisproduct van EEN(1,:,1) En B(1,:,1) .

Conclusie

Het vinden van de kruisproduct van twee vectoren is een veel voorkomende bewerking die veel wordt gebruikt bij wiskundige en technische taken. Deze bewerking kan in MATLAB worden uitgevoerd met behulp van het ingebouwde kruis() functie. In deze handleiding worden de verschillende manieren uitgelegd waarop u het kunt implementeren kruisproduct in MATLAB met behulp van meerdere voorbeelden.