列正交化 施密特正交化方法

2021-07-06 04:37:37 字數 1174 閱讀 7790

a1=[1 1 0 0];

a2=[1 0 1 0];

a3=[-1 0 0 1];

a=[a1',a2',a3];

u=a;

[m,n] = size(u);

y = u;

y(:,1) = y(:,1)/norm(y(:,1));

for k = 2:n   

y(:,k)=u(:,k);

endfor k = 2:n   

for j=k:n

y(:,j)=y(:,j)-y(:,k-1)'*y(:,j)*y(:,k-1);

endp1 = y(:,k)/norm(y(:,k));

y(:,k) = p1;

end對矩陣a的列向量,按照順序逐步正交化,採用施密特方法。

疑問1.施密特正交化首選第1列,再選2列,這樣正交,如果選擇的順序不一樣,得到的結果是不是也不一樣?

回答:是的,可以選擇0向量較多的向量作為第1個向量,再選擇0向量第2多的向量作為第2個向量,這樣計算量小。

2.用乙個矩陣,採用不同的順序正交化,最後的結果之間有什麼關係,只是列向量產生的空間相同嗎?

回答:應該只是列向量產生的列空間相同,還可以使用matlab函式orth,得到列空間相同的正交矩陣。

a =1     1    -1

1     0     0

0     1     0

0     0     1

結果yy =

參考文獻 蔡改香:關於施密特正交化的一點注釋與應用

施密特正交化

對於一組向量,有時候我們需要對其進行正交化處理,也就是說,該組向量中任意兩個向量都是互相垂直的。那麼,要怎麼做呢?假設只有兩個向量,vec v 0 和 vec v 1 正交化的幾何示意圖如下所示。假設正交化之後的向量為 vec w 0 和 vec w 1 那麼由圖可知,可得 vec w 0 vec ...

向量的施密特正交化

先看乙個例子 設三個向量分別為 1 2 3 1,1,0 t 1,0,1 t 1,1,1 t 那麼對 1 2 正交化 1 2 1 1 1,0 t 2 2,1 1,1 1 1,0 1 t 1 1 0 1 1 01 1 1 1 0 0 1,1,0 t 1 0,1 t 12 1 1,0 t 12 1 1,2...

徹底理解施密特正交化

在遊戲程式設計中我們經常會用到施密特正交化,比如求解法線的切空間,我們需要把一組非正交的座標系 轉換為正交的座標系 n b t 施密特正交化如何理解呢?我們先來看看官方給出的解釋。施密特正交化 schmidt orthogonalization 是求歐氏空間正交基的一種方法。從歐氏空間任意線性無關的...