Paano Maghanap ng Orthonormal Basis para sa Saklaw ng Matrix Gamit ang orth() Function ng MATLAB

Paano Maghanap Ng Orthonormal Basis Para Sa Saklaw Ng Matrix Gamit Ang Orth Function Ng Matlab



Ang MATLAB ay kumakatawan sa matrix laboratory at ang pangunahing layunin ng pagbuo nito ay upang mahusay na magsagawa ng mga kumplikadong operasyon ng matrix. Ang isang naturang operasyon ng matrix ay ang paghahanap ng orthonormal na batayan ng isang ibinigay na matrix. Ito ay isang kumplikado pati na rin ang oras-ubos na problema habang kino-compute ito nang manu-mano. Gayunpaman, pinahihintulutan kami ng MATLAB na isagawa ang operasyong ito gamit ang orth() function.

Ang artikulong ito ay pagpunta sa galugarin kung ano ang orthonormal na batayan ng isang matrix at kung paano hanapin ang mga ito sa MATLAB gamit ang orth() function.

Ano ang Orthonormal na Batayan ng isang Matrix

Sa Linear Algebra, ang orthonormal na batayan ng isang vector space V na may hangganan na dimensyon ang batayan ng pagkakaroon orthonormal vectors kung saan ang orthonormal vectors ay ang mga unit vector na orthogonal sa isa't isa na ang kanilang dot product ay zero.







Isaalang-alang ang dalawang-unit vectors x at y, sila ay orthogonal sa isa't isa kung “x.y=0” . Ang dalawang vector na ito ay tinatawag din orthonormal vectors .



Bakit Kailangan Nating Kalkulahin ang Orthonormal na Batayan

Isang orthonormal na batayan ay kapaki-pakinabang sa mga tuntunin ng paghahanap ng projection ng isang vector sa isa pang vector o paghahanap ng distansya sa pagitan ng dalawang vectors. Maaari din nating gamitin ang isang orthonormal na batayan upang mabawasan ang round-off error sa aming mga simulation at ang tanging dahilan nito ay ang mga vector sa orthonormal na batayan ay independyente sa isa't isa, kaya ang isang error sa isang vector ay hindi maaaring magpalaganap sa ibang mga vector. Dagdag pa, ang paghahanap ng mga coordinate at pagsasagawa ng linear transformation ay mas madali kung ang aming batayan ay orthonormal.



Paano Hanapin ang Orthonormal na Batayan ng isang Matrix sa MATLAB?

Sa MATLAB, mahahanap natin ang orthonormal na batayan gamit ang built-in orth() function na responsable para sa pagtukoy ng orthonormal na batayan ng isang ibinigay na matrix. Ang function na ito ay tumatanggap ng isang matrix bilang isang mandatoryong parameter at nagbibigay ng isang matrix bilang isang output na naglalaman ng orthonormal na batayan ng ibinigay na input matrix.





Syntax
Ang orth() Ang function ay maaaring ipatupad sa MATLAB sa pamamagitan ng mga sumusunod na syntax:

Q = orth ( A )
Q = orth ( A,tol )

dito,



  • Ang function Q = orth(A) ay responsable para sa pagtukoy ng orthonormal na batayan para sa hanay ng A kung saan ang mga column ng output matrix Q ay kumakatawan sa orthonormal na batayan ng matrix A at i-spam nila ang hanay ng matrix A. Gayundin, ang ranggo ng A ay katumbas ng bilang ng mga column ng Q.
  • Ang function Q = orth(A,tol) ay responsable para sa pagtukoy ng orthonormal na batayan para sa hanay ng A na tumutukoy sa pagpapaubaya. Ang mga singular na halaga ng input matrix A, na mas mababa sa tolerance, ay itinuturing na zero sa pamamagitan ng pag-apekto sa bilang ng mga column ng Q.

Halimbawa 1: Paano Makakahanap ng Orthonormal na Batayan ng isang Full Rank Matrix sa MATLAB?

Tinutukoy ng MATLAB code na ito ang orthonormal na batayan ng ibinigay na square matrix A na may sukat n=3 gamit ang orth() function. Hinahanap din ng code na ito ang ranggo ng isang matrix A gamit ang ranggo() function na upang i-verify na ang input matrix ay buong ranggo.

A = [ 1 0 -1 ; 1 2 0 ; 0 1 - 3 ] ;
r = ranggo ( A )
Q = orth ( A )

Halimbawa 2: Paano Mag-compute ng Orthonormal Basis ng isang Rank Deficient Matrix sa MATLAB?

Sa halimbawang ito, ginagamit namin ang orth() function upang mahanap ang orthonormal na batayan ng ibinigay na rank-deficient matrix A. Ang matrix A ay rank deficient dahil ranggo(K) .

A = [ 1 0 -1 ; 1 2 0 ; 0 0 0 ] ;
r = ranggo ( A )
Q = orth ( A )

Halimbawa 3: Paano Makakahanap ng Orthonormal na Batayan ng isang Full Rank Matrix sa pamamagitan ng Pagtukoy sa Tolerance sa MATLAB?

Ang ibinigay na halimbawa ay kinakalkula ang orthonormal na batayan ng ibinigay na full-rank square matrix A na may sukat n=3 gamit ang orth() function na may default na pagpapaubaya. Dahil ang A ay isang buong ranggo na matrix, ang laki ng A at Q (orthogonal na batayan) ay pareho, na 3×3 sa kasong ito. Ang halimbawa ay pagkatapos ay kalkulahin ang orthonormal na batayan ng A sa pamamagitan ng pagtukoy sa halaga ng pagpapaubaya na 0.5 upang isaalang-alang ang mga halaga ng A na mas mababa sa 0.5 bilang mga singular na halaga. Mayroong tatlong singular na halaga sa A, kaya ang A ay may dalawang orthonormal column vector na nilalaman ng Qtol matris.

A = rand ( 3 ) ;
r = ranggo ( A )
Q = orth ( A )
Q_tol = orth ( A, 0.5 )

Konklusyon

Ang paghahanap ng orthonormal na batayan ng isang vector space ay isang mahalagang konsepto ng linear algebra na isang kumplikadong problema sa matematika. Gayunpaman, madali at mahusay itong malulutas sa pamamagitan ng paggamit ng built-in ng MATLAB orth() function. Iniharap ng artikulong ito ang pagpapatupad ng function na ito gamit ang iba't ibang mga syntax at halimbawa.