Z Skrypty dla studentów Ekonofizyki UPGOW
m (→Wektory) |
(→Zmiana bazy i iloczyn skalarny) |
||
Linia 27: | Linia 27: | ||
</source> | </source> | ||
- | Ortogonalizacja Grama-Schmidta | + | == Ortogonalizacja Grama-Schmidta == |
+ | |||
+ | Operator rzutowania ortogonalnego wektora <math>\mathbf{v}</math> na wektor <math>\mathbf{u}</math> definiujemy jako: | ||
+ | :<math>\mathrm{proj}_{\mathbf{u}}\,\mathbf{v} = {\langle \mathbf{v}, \mathbf{u}\rangle\over\langle \mathbf{u}, \mathbf{u}\rangle}\mathbf{u}. </math> | ||
+ | |||
+ | Wówczas dla układu k wektorów <math>\{\mathbf{v}_1, \ldots,\mathbf{v}_k\}</math> proces przebiega następująco: | ||
+ | [[Plik:Gram–Schmidt process.svg|right|frame|Dwa pierwsze kroki procesu ortogonalizacji]] | ||
+ | :<math>\mathbf{u}_1 = \mathbf{v}_1,</math> | ||
+ | :<math>\mathbf{u}_2 = \mathbf{v}_2-\mathrm{proj}_{\mathbf{u}_1}\,\mathbf{v}_2, </math> | ||
+ | :<math>\mathbf{u}_3 = \mathbf{v}_3-\mathrm{proj}_{\mathbf{u}_1}\,\mathbf{v}_3-\mathrm{proj}_{\mathbf{u}_2}\,\mathbf{v}_3, </math> | ||
+ | :<math>\vdots</math> | ||
+ | :<math>\mathbf{u}_k = \mathbf{v}_k-\sum_{j=1}^{k-1}\mathrm{proj}_{\mathbf{u}_j}\,\mathbf{v}_k, </math> | ||
+ | |||
+ | |||
+ | Grama-Schmidt | ||
+ | |||
<source lang='matlab'> | <source lang='matlab'> |
Wersja z 21:37, 23 lut 2011
Wektory
Wektor w przestrzeni euklidesowej N wymiarowej jest reprezentowany przez N liczb. Iloczyn skalarny dwóch wektorów \(\mathbf a\) oraz \(\mathbf b\) o oznaczany symbolem \(\mathbf a \cdot \mathbf b\) określony jest jako:
- \(\mathbf a \cdot \mathbf b = \sum_{i=1}^{N}a_i b_i\),
gdzie \(a_i\) to i-ty element wektora a. Można pokazać, że iloczyn ten jest też dany przez
- \(\mathbf a \cdot \mathbf b = \|\mathbf a\| \|\mathbf b\| \cos \theta\),
gdzie \(\theta\) jest kątem między \(\mathbf a\) a \(\mathbf b\).
Jeśli jeden wektorów jest wektorem o długości jeden to mnoże go przez dowolny inny wektor może być interpretowane jako rzutowanie na kierunek wyznaczony przez pierwszy wektor.
Baza
Zmiana bazy
Zmiana bazy i iloczyn skalarny
Mamy \((x,y)=\sum_{i=1}^{N}x_i y_j\)
b1=[1;1;1] b2=[1;0;1] b3=[1;0;-1] C=[b1,b2,b3] C'*C M=[b1'*b1,b1'*b2,b1'*b3;b2'*b1,b2'*b2,b2'*b3;b3'*b1,b3'*b2,b3'*b3]
Ortogonalizacja Grama-Schmidta
Operator rzutowania ortogonalnego wektora \(\mathbf{v}\) na wektor \(\mathbf{u}\) definiujemy jako: \[\mathrm{proj}_{\mathbf{u}}\,\mathbf{v} = {\langle \mathbf{v}, \mathbf{u}\rangle\over\langle \mathbf{u}, \mathbf{u}\rangle}\mathbf{u}. \]
Wówczas dla układu k wektorów \(\{\mathbf{v}_1, \ldots,\mathbf{v}_k\}\) proces przebiega następująco:
\[\mathbf{u}_1 = \mathbf{v}_1,\] \[\mathbf{u}_2 = \mathbf{v}_2-\mathrm{proj}_{\mathbf{u}_1}\,\mathbf{v}_2, \] \[\mathbf{u}_3 = \mathbf{v}_3-\mathrm{proj}_{\mathbf{u}_1}\,\mathbf{v}_3-\mathrm{proj}_{\mathbf{u}_2}\,\mathbf{v}_3, \] \[\vdots\] \[\mathbf{u}_k = \mathbf{v}_k-\sum_{j=1}^{k-1}\mathrm{proj}_{\mathbf{u}_j}\,\mathbf{v}_k, \]
Grama-Schmidt
e1=b1 e2=b2-(e1'*b2)/(e1'*e1)*e1 e3=b3-( (e1'*b3)/(e1'*e1)*e1 + (e2'*b3)/(e2'*e2)*e2 )
E=[e1,e2,e3] quiver3([0,0,0],[0,0,0],[0,0,0], C(1,:), C(2,:), C(3,:), 0,'r') hold on quiver3([0,0,0],[0,0,0],[0,0,0], E(1,:), E(2,:), E(3,:), 0,'b') xlim([-1,1]) ylim([-1,1]) zlim([-1,1]) hold off
Ćwiczenia:
- obliczyć współrzędne wektora \(a=(1,2,3)\) w bazie \((e_1+e_2...\)
- obliczyc rząd macierzy