注意:a=orth(b),a的列数是等于b的秩数,所以,当b缺秩时,a的列就与b的列数不相等了。如:
A = [1 0 1;-1 -2 0; 0 1 -1];
r = rank(A)
r =
3
Q = orth(A)
Q =
-0.1200 -0.8097 0.5744
0.9018 0.1531 0.4042
-0.4153 0.5665 0.7118
Q是3列,又如:
b=[1 0 1; 0 1 0; 1 0 1];r1=rank(b)
r1 =
2
q=orth(b)
q =
-0.7071 0
0 1.0000
-0.7071 0
q是2列。
B = orth(A)
返回矩阵A正交基。
B列与A列具有相同空间。
B列向量正交向量满足B'*B = eye(rank(A))
B的列数是A的秩。
举例:
>> a2
a2 =
1
4
7
2
5
8
3
6
9
>> orth(a2)
ans =
-0.4797
0.7767
-0.5724
0.0757
-0.6651
-0.6253
>> ans'*ans
ans =
1.0000
-0.0000
-0.0000
1.0000
>>