Hoe u een orthonormale basis kunt vinden voor het matrixbereik met behulp van de orth()-functie van MATLAB

Hoe U Een Orthonormale Basis Kunt Vinden Voor Het Matrixbereik Met Behulp Van De Orth Functie Van Matlab



MATLAB staat voor matrixlaboratorium en het basisdoel van de ontwikkeling ervan was het efficiënt uitvoeren van gecompliceerde matrixbewerkingen. Eén van deze matrixbewerkingen is het vinden van de orthonormale basis van een gegeven matrix. Het is een ingewikkeld en tijdrovend probleem als je het handmatig berekent. MATLAB staat ons echter toe deze bewerking uit te voeren met behulp van de orth() functie.

Dit artikel gaat onderzoeken wat de orthonormale basis van een matrix en hoe u deze kunt vinden in MATLAB met behulp van de orth() functie.

Wat is de orthonormale basis van een matrix?

In lineaire algebra is de orthonormale basis van een vectorruimte V met een eindige dimensie zijn de basis orthonormale vectoren waar de orthonormale vectoren zijn de eenheidsvectoren die orthogonaal ten opzichte van elkaar zijn, dat wil zeggen dat hun puntproduct nul is.







Beschouw de twee-eenheidsvectoren x en y, deze zullen orthogonaal ten opzichte van elkaar zijn als “x.y=0” . Deze twee vectoren worden ook wel genoemd orthonormale vectoren .



Waarom moeten we de orthonormale basis berekenen?

Een orthonormale basis is nuttig bij het vinden van de projectie van een vector op een andere vector of het vinden van de afstand tussen de twee vectoren. We kunnen ook een orthonormale basis om de afrondingsfout in onze simulaties te verminderen en de enige reden hiervoor is dat de vectoren op een orthonormale basis onafhankelijk van elkaar zijn, waardoor een fout in de ene vector zich niet kan voortplanten naar andere vectoren. Verder is het vinden van coördinaten en het uitvoeren van lineaire transformatie een stuk eenvoudiger als onze basis orthonormaal is.



Hoe vind ik de orthonormale basis van een matrix in MATLAB?

In MATLAB kunnen we de orthonormale basis met behulp van de ingebouwde orth() functie die verantwoordelijk is voor het bepalen van de orthonormale basis van een gegeven matrix. Deze functie accepteert een matrix als verplichte parameter en levert een matrix als uitvoer met daarin de orthonormale basis van de gegeven invoermatrix.





Syntaxis
De orth() functie kan in MATLAB worden geïmplementeerd via de volgende syntaxis:

Q = ord ( A )
Q = ord ( A, tol )

Hier,



  • De functie Q = noord(A) is verantwoordelijk voor het vaststellen van de orthonormale basis voor het bereik van A waar kolommen van uitvoermatrix Q de orthonormale basis van matrix A en ze spammen het bereik van matrix A. Ook is de rangorde van A gelijk aan het aantal kolommen van Q.
  • De functie Q = orth(A,tol) is verantwoordelijk voor het vaststellen van de orthonormale basis voor het bereik van A dat de tolerantie specificeert. De singuliere waarden van invoermatrix A, die kleiner zijn dan de tolerantie, worden als nul behandeld door het aantal kolommen van Q te beïnvloeden.

Voorbeeld 1: Hoe vindt u de orthonormale basis van een volledige rangschikkingsmatrix in MATLAB?

Deze MATLAB-code bepaalt de orthonormale basis van de gegeven vierkante matrix A met grootte n=3 met behulp van de orth() functie. Deze code vindt ook de rangorde van een matrix A met behulp van de rang() functie om te verifiëren dat de invoermatrix de volledige rangorde heeft.

EEN = [ 1 0 -1 ; 1 2 0 ; 0 1 - 3 ] ;
r = rang ( A )
Q = ord ( A )

Voorbeeld 2: Hoe bereken je de orthonormale basis van een rangdeficiënte matrix in MATLAB?

In dit voorbeeld gebruiken we de orth() functie om de orthonormale basis van de gegeven rang-deficiënte matrix A. De matrix A is rang-deficiënt omdat rang(K) .

EEN = [ 1 0 -1 ; 1 2 0 ; 0 0 0 ] ;
r = rang ( A )
Q = ord ( A )

Voorbeeld 3: Hoe vindt u de orthonormale basis van een volledige rangsmatrix door tolerantie in MATLAB te specificeren?

Het gegeven voorbeeld berekent de orthonormale basis van de gegeven volledige vierkante matrix A met grootte n=3 de ... gebruiken orth() functie met standaardtolerantie. Omdat A een matrix met volledige rangschikking is, is de grootte van A en Q (orthogonale basis) is hetzelfde, in dit geval 3×3. Het voorbeeld berekent vervolgens de orthonormale basis van A door de waarde van tolerantie 0,5 te specificeren om de waarden van A die kleiner zijn dan 0,5 als singuliere waarden te beschouwen. Er zijn drie singuliere waarden in A, dus A heeft twee orthonormale kolomvectoren zoals opgenomen in de Qtol Matrix.

A = rand ( 3 ) ;
r = rang ( A )
Q = ord ( A )
Q_tol = orth ( A, 0,5 )

Conclusie

Het vinden van de orthonormale basis van een vectorruimte is een belangrijk concept van lineaire algebra dat een ingewikkeld wiskundig probleem is. Het kan echter eenvoudig en efficiënt worden opgelost door de ingebouwde MATLAB te gebruiken orth() functie. In dit artikel wordt de implementatie van deze functie gepresenteerd met behulp van verschillende syntaxis en voorbeelden.