Jak implementovat cross product v MATLABu?

Jak Implementovat Cross Product V Matlabu



Hledání součinu dvou vektorů je široce používaná matematická a fyzikální operace k provádění mnoha matematických a fyzikálních úloh. Existují dvě metody, jak určit součin dvou vektorů. Jedním z nich je skalární nebo bodový součin a další je křížový nebo vektorový produkt . A skalární součin je fyzikální veličina, která po vynásobení dvou vektorů vrací skalární hodnotu. Ve srovnání s vektorový produkt je fyzikální veličina, která vrací vektor po vynásobení dvou vektorů.

Vypočítat součin velkých vektorů není snadný úkol. Při ručním počítání to může vyžadovat velké výpočty a čas. V dnešní době špičkových výpočetních nástrojů jsme však požehnáni MATLABem, který pomocí vestavěných funkcí provádí mnoho výpočtů v co nejkratším čase. Jednou z takových funkcí je přejít() což nám umožňuje určit křížový součin dvou vektorů.

Tento tutoriál objeví:







Co je křížový produkt?

The křížový produkt dvou vektorů je fyzikální veličina, která se vypočítá vynásobením dvou vektorů. Vrací vektor kolmý k daným dvěma vektorům. Li A a B jsou dvě vektorové veličiny, jejich křížový součin C je dán jako:





Kde C je také vektorová veličina a je na obě kolmá A a B .





Proč potřebujeme určit křížový produkt?

The křížový produkt plní mnoho úkolů ve fyzice, matematice a inženýrství. Některé z nich jsou uvedeny níže.

The křížový produkt se používá k nalezení:



  • Oblast trojúhelníku.
  • Úhel mezi dvěma vektory.
  • Jednotkový vektor kolmý na dva vektory.
  • Plocha rovnoběžníku.
  • Kolinearita mezi dvěma vektory.

Jak implementovat křížový produkt dvou vektorů v MATLABu?

MATLAB nám usnadňuje vestavěný přejít() funkce k nalezení křížový produkt ze dvou vektorů. Tato funkce přijímá dva vektory jako povinné vstupy a poskytuje je křížový produkt t z hlediska vektorového množství.

Syntax

The přejít() funkci lze v MATLABu implementovat těmito způsoby:

C = přejít ( A,B )

C = přejít ( A,B, rozm )

Tady,

Funkce C = kříž (A,B) je zodpovědný za výpočet křížový produkt C z daných vektorů A a B .

  • Li A a B představují vektory, musí mít a velikost rovná 3 .
  • Li A a B představují dvě matice nebo vícesměrná pole, musí mít stejnou velikost. V této situaci, přejít() funkce uvažuje A a B jako sbírku vektorů se třemi prvky a vypočítává jejich křížový produkt podél prvního rozměru majícího velikost rovnou 3.

Funkce C = kříž (A,B,dim) je zodpovědný za výpočet křížový produkt C z daných dvou polí A a B podél rozměr rozm . Mějte to na paměti A a B musí být dvě pole mající stejnou velikost a velikost (A, matná) , a velikost (B, matná) se musí rovnat 3 . Tady, ztlumit je proměnná obsahující kladnou skalární veličinu.

Příklady

Zvažte několik příkladů, abyste pochopili praktickou implementaci přejít() funkce v MATLABu.

Příklad 1: Jak určit křížový součin dvou vektorů?

V tomto příkladu vypočítáme křížový produkt C daných vektorů a pomocí přejít() funkce.

A = [ - 7 9 2,78 ] ;

B = [ 1 0 - 7 ] ;

C = přejít ( A,B )

Nyní můžeme ověřit náš výsledek C tím, že si ji vezmete Tečkovaný produkt s vektory A a B. Li C je kolmý do obou vektorů A a B to znamená C je křížový produkt z A a B . Můžeme zkontrolovat kolmost z C s A a B tím, že si ji vezmete Tečkovaný produkt s A a B . Pokud Tečkovaný produkt z C s A a B rovná se 0. to znamená C je kolmý na A a B .

tečka ( C,A ) == 0 && tečka ( C, B ) == 0

Po provedení výše uvedeného test kolmosti, získali jsme a logická hodnota 1 to znamená, že výše uvedená operace je pravdivá. Z toho vyplývá, že výsledný vektor C představuje křížový produkt z daných vektorů A a B .

Příklad 2: Jak určit křížový součin dvou matic?

Uvedený příklad vypočítává křížový produkt C z daných matric A, vytvořené pomocí funkce magic() a B , matice náhodných čísel pomocí přejít() funkce. Obě matrice A a B jsou stejné velikosti.

A = kouzlo ( 3 ) ;

B = rand ( 3 , 3 ) ;

C = přejít ( A,B )

V důsledku toho získáme a 3x3 matice C toto je křížový produkt z A a B . Každý sloupec C představuje křížový produkt z příslušných sloupců A a B . Například, C(:,1) je křížový produkt z A(:,1) a B(:,1) .

Příklad 3: Jak najít křížový součin dvou vícesměrných polí?

Daný kód MATLABu určuje křížový produkt C z daných vícesměrných polí A , pole náhodných celých čísel a B , pole náhodných čísel pomocí přejít() funkce. Obě pole A a B jsou stejné velikosti.

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

B = randn ( 3 , 4 , 2 ) ;

C = přejít ( A,B )

V důsledku toho získáme a 3x4x2 pole C toto je křížový produkt z A a B. Každý sloupec C představuje křížový produkt z příslušných sloupců A a B . Například, C(:,1,1) je křížovým produktem A(:,1,1) a B(:,1,1) .

Příklad 4: Jak najít křížový součin dvou vícesměrných polí podél dané dimenze?

Zvažte pole A a B z Příklad 3 mající velikost 3x3x3 a používat přejít() funkci najít jejich křížový produkt podél rozměr dim=2 .

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

B = randn ( 3 , 3 , 3 ) ;

C = přejít ( A,B, 2 )

V důsledku toho získáme a 3x3x3 pole C toto je křížový produkt z A a B . Každá řada C představuje křížový součin příslušných řádků A a B. Například, C(1,,1) je křížovým produktem A(1;:,1) a B(1;:,1) .

Závěr

Nalezení křížový produkt dvou vektorů je běžná operace široce používaná v matematických a inženýrských úlohách. Tuto operaci lze provést v MATLABu pomocí vestavěného přejít() funkce. Tato příručka vysvětluje různé způsoby implementace křížový produkt v MATLABu na několika příkladech.