?
一、用向量空間解方程組
?
1、向量和向量空間
?
(1) 二維空間R2中的向量用兩個(gè)沿列向的元素表示。
?
?
?
向量u,v在二維空間的表示:
?
(2)??二維向量張成的空間
平面上的任何一點(diǎn)[w1;w2]是不是一定能用u和v的線性組合來實(shí)現(xiàn)?即是不是一定能找到一組常數(shù)[c1,c2],使得
?
?
? c1,c2取所有可能的值,得到的w的集合就是u和v張成的子空間,在所給的u和v下,它是一個(gè)平面。
? 若u和v兩個(gè)向量的各元素成簡(jiǎn)單的比例關(guān)系,合成的向量只能在一根直線上,不可能張成整個(gè)二維平面。這種情況下,稱這兩個(gè)向量u和v是線性相關(guān)的。?
?
(3)??三維空間中的向量
?
若v1,v2和v3都是三維空間的列向量。可以用空間坐標(biāo)中的三個(gè)點(diǎn),或從坐標(biāo)原點(diǎn)引向這三點(diǎn)的箭頭來表示。用矩陣代數(shù)表示如下:
?
?
如果三個(gè)基本向量之間線性無關(guān),那么它們的線性組合可以覆蓋(張成)整個(gè)三維空間。如果三個(gè)向量共面,即相關(guān),就不能張成三維空間。判斷三個(gè)向量的線性相關(guān)性,可用行列式。
?
(4) 三維空間向量的相關(guān)性
?
det(A)=0? 相關(guān)
det(A)≠0? 不相關(guān)
行列式的幾何意義:在二維是兩個(gè)向量組成的平行四邊形面積,在三維是三個(gè)向量組成的平行六面體的體積。
?
(5) n維向量的相關(guān)性
在進(jìn)入三維以上的空間時(shí),已經(jīng)沒有可與面積、體積直接相當(dāng)?shù)母拍羁捎昧耍圆捎昧?strong>秩的概念。如果A的行列式為零,也就是它的秩r小于n時(shí),說明這n個(gè)向量是線性相關(guān)的。
秩的概念也概括了面積存在(r=2)和體積存在(r=3)的意義,因此,它是更高度的抽象。
?
(6) 向量空間和基向量
? 若r個(gè)向量是線性無關(guān)的,則它們的線性組合的全體V就構(gòu)成了r維空間Rr。如果它不是空集,則V稱為向量空間。生成V的r個(gè)線性無關(guān)的向量v稱為基向量或基(Basis)。
? 當(dāng)r=n時(shí),給定的n個(gè)向量就是一組基。如果r<n,那就要在n個(gè)向量中選出r個(gè)線性無關(guān)的向量。用秩的概念還無法判定哪些向量是線性無關(guān)的,這時(shí)又要藉助于把矩陣簡(jiǎn)化為階梯形式的方法。
?
例1:求四個(gè)五維向量的子空間
這四個(gè)向量組成的矩陣如下,對(duì)它進(jìn)行行階梯簡(jiǎn)化:
程序?yàn)椋?/p>
>>?A=[4,-5,-4,-1;0,-3,0,1;-2,1,2,0;-5,4,5,3;-1,4,1,-1]
[U0,ip]=rref(A)
A?=
?????4????-5????-4????-1
?????0????-3?????0?????1
????-2?????1?????2?????0
????-5?????4?????5?????3
????-1?????4?????1????-1
U0?=
?????1?????0????-1?????0
?????0?????1?????0?????0
?????0?????0?????0?????1
?????0?????0?????0?????0
?????0?????0?????0?????0
ip?=
?????1?????2?????4
>>?
?
得到 ip=1,2,4,其三個(gè)樞軸列對(duì)應(yīng)的就是三個(gè)線性無關(guān)的列向量。
?
例2:w是否在v1,v2,v3的空間內(nèi)
設(shè)
?
w是否能由v1,v2,v3的線性組合構(gòu)成的問題,取決于線性方程組 v.c=w 解的存在性。
程序?yàn)椋?/p>
v1=[7;-4;-2;9];?
v2=[-4;5;-1;-7];?
v3=[9;4;4;-7];?
w=[-9;7;1;-4];?
v=[v1,v2,v3];
c=v\w?????
%?把基向量組成矩陣v求解
?
也可以按det(v)是否為零進(jìn)行判別。
?
(7) 向量的內(nèi)積和正交性
兩個(gè)m維向量的內(nèi)積可以寫成:
這是一個(gè)標(biāo)量。向量x與自己求內(nèi)積
得到的是其各分量的平方和,其平方根就等于向量的長(zhǎng)度(或模、或范數(shù)norm)。
?
(8) 內(nèi)積的幾何意義
在平面情況,兩向量的內(nèi)積除以它們的長(zhǎng)度是它們夾角的余弦:
?
例3:基向量長(zhǎng)度規(guī)一化和夾角
求以上例2中的單位基向量v01,v02,v03,并分別求它們之間的夾角。
?
程序?yàn)椋?/p>
v10=v1/norm(v1)
v20=v2/norm(v2)?
v30=v3/norm(v1)
theta12=acos((v1'*v2)/(norm(v1)*norm(v2)))
theta13=acos((v1'*v3)/(norm(v1)*norm(v3)))
theta23=acos((v3'*v2)/(norm(v3)*norm(v2)))
?
(9)?正交基向量的生成
兩向量x,y正交的條件是它們的內(nèi)積為零。
給出向量求正交基常用施密特算法,ATLAST手冊(cè)中給出了相應(yīng)的程序gschmidt。調(diào)用時(shí)鍵入[Q,R]=gschmidt(v),Q就是單位正交基向量e。
MATLAB中不用施密特算法,而用更好的算法編成了正交分解子程序qr.m,它將v分解為Q和R兩個(gè)矩陣的乘積。調(diào)用方法為:[Q,R]=qr(v) ,Q就是m×m單位正交矩陣。
?
基向量正交化的schmidt公式:
得到qi(i?1,2,…,k)后,再把它們除以norm(qi),就可歸一化為單位向量ek。
?
基向量正交化的gschmidt子程序:
function?[Q,R]=gschmidt(V)
[m,n]=size(V);?R=zeros(n);
R(1,1)=norm(V(:,1));
Q(:,1)=V(:,1)/R(1,1);
for?k=2:n
????R(1:k-1,k)=Q(:,1:k-1)'*V(:,k);
????Q(:,k)=V(:,k)-Q(:,1:k-1)*R(1:k-1,k);
????R(k,k)=norm(Q(:,k));
????Q(:,k)=Q(:,k)/R(k,k);
end
?
例4:對(duì)于例2的數(shù)據(jù),求其規(guī)范化正交基向量e1,e2,…,en。
>>?V=[7,-4,9;-4,5,4;-2,-1,4;9,-7,-7]
[Q,R]=qr(V)?%?或?[Q,R]=gschmidt(V)?
e=Q(:,[1:3])
V?=
?????7????-4?????9
????-4?????5?????4
????-2????-1?????4
?????9????-7????-7
Q?=
???-0.5715???-0.3164???-0.7473???-0.1217
????0.3266???-0.6096???-0.1080????0.7142
????0.1633????0.7144???-0.5022????0.4591
???-0.7348????0.1339????0.4216????0.5141
R?=
??-12.2474????8.8998????1.9596
?????????0???-3.4341???-3.3662
?????????0?????????0??-12.1173
?????????0?????????0?????????0
e?=
???-0.5715???-0.3164???-0.7473
????0.3266???-0.6096???-0.1080
????0.1633????0.7144???-0.5022
???-0.7348????0.1339????0.4216
>>?
?
得到e=[e1 e2 e3]
?
?
?
二、線性變換及特征
?
1、平面上線性變換的幾何意義
?
例1? 設(shè)x為二維平面上第一象限中的一個(gè)單位方塊,其四個(gè)頂點(diǎn)的數(shù)據(jù)可寫成:
?
x?=
?????0?????1?????1?????0
?????0?????0?????1?????1
?
把不同的A矩陣作用于此組數(shù)據(jù),可以得到多種多樣的結(jié)果yi=Ai*x。
可以看出,矩陣A1使原圖對(duì)縱軸生成鏡像,矩陣A2使原圖在橫軸方向膨脹,矩陣A3使原圖在縱軸方向壓縮,矩陣A4使原圖向右方剪切變形,矩陣A5使原圖沿反時(shí)針方向旋轉(zhuǎn)t?pi/6。分別計(jì)算出這五個(gè)矩陣的行列式和特征值:
?
對(duì)二維空間(平面),行列式的幾何意義實(shí)際上是兩個(gè)向量所構(gòu)成的平行四邊形的面積。一個(gè)變換所造成的圖形的面積變化,取決于該變換的行列式。A1,A4和A5的行列式絕對(duì)值都是1,所以它們不會(huì)使變換后圖形的面積發(fā)生改變。而A2和A3的行列式分別為1.5和0.2。
?
2、二維矩陣特征值的幾何意義
(1) 二維矩陣的特征值表示該變換在原圖形的特征向量的方向上的放大量。例如矩陣A1在第一特征向量
的方向的特征值為λ1(1) = -1,即橫軸正方向的增益為-1,其結(jié)果是把原圖中橫軸正方向的部分變換到新圖的負(fù)方向去了;A1在第二特征向量
的方向的特征值為λ1(2)=1,即縱軸正方向的增益為1,因而保持了新圖和原圖在縱軸方向尺度不變。
?
例2:斜體字的生成
數(shù)據(jù)矩陣
x?=
?????????0????0.5000????0.5000????6.0000????6.0000????5.5000????5.5000?????????0
?????????0?????????0????6.4200?????????0????8.0000????8.0000????1.5800????8.0000
?
表示英文大寫空心字母N的各個(gè)節(jié)點(diǎn)
(1)用plot語句在子圖1中畫出其形狀;
(2)取
A?=
????1????0.25
????0????1
?
作為變換矩陣對(duì)x進(jìn)行變換,并在子圖2中畫出其圖形;
畫圖的要點(diǎn)是要在給定的數(shù)據(jù)右方,補(bǔ)上第一點(diǎn)的坐標(biāo),使畫出的圖形封閉。
?
程序?yàn)椋?/p>
x0?=?[0,0.5,0.5,6,6,5.5,5.5,0;0,0,6.42,0,8,8,1.58,8]
x?=?[x0,x0(:,1)]?%?把首頂點(diǎn)坐標(biāo)補(bǔ)到末頂點(diǎn)后
A?=?[1,0.25;0,1]
y?=?A*x
subplot(1,2,1),?plot(x(1,:),x(2,:))
subplot(1,2,2),?plot(y(1,:),y(2,:))
?
畫出的兩個(gè)圖形為:
(2) 平移運(yùn)動(dòng)不能用二維變換實(shí)現(xiàn)
剛體在平面上的運(yùn)動(dòng)要用兩個(gè)平移和一個(gè)轉(zhuǎn)動(dòng)來描述,轉(zhuǎn)動(dòng)可以從上面的線性變換A5得到,但平移y=x+c卻不是一個(gè)線性變換。因?yàn)椋?br />(1)設(shè)ya = xa+c;yb = xb+c;則它們的和為
??y = ya+yb = xa+xb+2c ≠ x+c,
可見,它對(duì)加法不封閉;
(2)設(shè)ya = xa+c;將它乘以常數(shù)k,
??y = kya = k(xa+c) = kxa+kc ≠ kxa+c = x+c,
可見,它對(duì)乘法也不封閉;就是說,這不符合線性變換的規(guī)則,x和y 不屬于同一個(gè)向量空間,無法用矩陣乘法來實(shí)現(xiàn)平移變換y = x+c。
?
(3) 平面運(yùn)動(dòng)模型的齊次坐標(biāo)系
把平面問題映射到高維的空間來建立方程,有可能把x和y由擴(kuò)展了的向量空間來覆蓋。把原來通過原點(diǎn)的平面沿垂直方向提高一個(gè)單位,與原平面保持平行,于是原來的x就用三維向量來表示為:
這樣的坐標(biāo)系稱為齊次坐標(biāo)系。
此時(shí)可以把平移矩陣寫成:
因而平移運(yùn)動(dòng)y就可用x經(jīng)線性變換實(shí)現(xiàn)了。
這個(gè)方法在研究剛體平面運(yùn)動(dòng)時(shí)非常有用。
對(duì)象若同時(shí)有旋轉(zhuǎn)和平移,則可以分別列出旋轉(zhuǎn)矩陣和平移矩陣。不過此時(shí)的旋轉(zhuǎn)矩陣也要改為3×3維,這可以把上述A5中增加第三行和第三列,置A(3,3)=1,其余新增元素為零。
這就是既包括平移,又包括轉(zhuǎn)動(dòng)的平面齊次坐標(biāo)系內(nèi)的變換矩陣。
?
(4) 空間線性變換的幾何意義
三維空間線性變換最直接的幾何意義和應(yīng)用價(jià)值可以從飛行器的三維轉(zhuǎn)動(dòng)坐標(biāo)中得到解釋。飛行器在空中可以圍繞三個(gè)軸旋轉(zhuǎn)。假如它在向北飛行,機(jī)頭正對(duì)北方,則它圍繞鉛垂軸的旋轉(zhuǎn)角稱為偏航角(Yaw),它描述了飛機(jī)左右的偏轉(zhuǎn),用u表示;圍繞翼展軸的旋轉(zhuǎn)角稱為傾斜角(Pitch),它描述了飛機(jī)俯仰姿態(tài),用v表示;圍繞機(jī)身軸的旋轉(zhuǎn)角稱為滾動(dòng)角(Roll),用w表示;u,v和w三個(gè)變量統(tǒng)稱為歐拉角,它們完全地描述了飛機(jī)的姿態(tài)。
?
例3:程序的實(shí)現(xiàn)方法
把飛行器的三維圖像用N個(gè)頂點(diǎn)描述,寫成一個(gè)3×N的數(shù)據(jù)矩陣G。用plot3命令時(shí)按頂點(diǎn)連線能繪制出飛行器的外觀。例如以下程序即可畫出一個(gè)最簡(jiǎn)單的飛行器立體圖。
Gw=[-4,-3,0;4,-3,0;0,7,0;-4,-3,0]';?%?主翼的頂點(diǎn)坐標(biāo)
Gt=[0,-3,0;0,-3,3;0,2,0;0,-3,0]';?%?尾翼的頂點(diǎn)坐標(biāo)
G=[Gw,Gt]?%?整個(gè)飛行器外形的數(shù)據(jù)集
plot3(Gw(1,:),Gw(2,:),Gw(3,:),'r'),?hold?on
plot3(Gt(1,:),Gt(2,:),Gt(3,:),'g'),?axis?equal
?
圍繞各個(gè)軸的旋轉(zhuǎn)變換矩陣:
飛行器圍繞各個(gè)軸的旋轉(zhuǎn)的結(jié)果,表現(xiàn)為各個(gè)頂點(diǎn)坐標(biāo)發(fā)生變化,也就是G的變化。只要把三種姿態(tài)的變換矩陣Y,P和R乘以圖形數(shù)據(jù)矩陣G即可。其中
?
綜合旋轉(zhuǎn)的變換矩陣:
單獨(dú)變化某個(gè)姿態(tài)角所生成的圖形由G1 = Y*G,G2 = P*G,G3 = R*G算出,如果同時(shí)變化三個(gè)姿態(tài)角,則最后的圖像數(shù)據(jù)成為Gf = Y*P*R*G = Q*G。這里假定轉(zhuǎn)動(dòng)的次序?yàn)椋合葷L動(dòng)R,再傾斜P,最后偏航Y(jié),由于矩陣乘法不服從交換律,轉(zhuǎn)動(dòng)次序不同時(shí)結(jié)果也不同。
用MATLAB實(shí)現(xiàn)的程序如下:
>>?syms?u,w,v
Y=[cos(u),sin(u),0;-sin(u),cos(u),0;0,0,1]
R=[1,0,0;0,cos(w),-sin(w);0,sin(w),cos(w)]
P=[cos(v),0,-sin(v);0,1,0;sin(v),0,cos(v)]
Q=Y*P*R?
?
w?=
w
?
?
v?=
v
?
?
Y?=
?
[??cos(u),??sin(u),???????0]
[?-sin(u),??cos(u),???????0]
[???????0,???????0,???????1]
?
R?=
?
[???????1,???????0,???????0]
[???????0,??cos(w),?-sin(w)]
[???????0,??sin(w),??cos(w)]
?
P?=
?
[??cos(v),???????0,?-sin(v)]
[???????0,???????1,???????0]
[??sin(v),???????0,??cos(v)]
?
Q?=
?
[??cos(u)*cos(v),??sin(u)*cos(w)-cos(u)*sin(v)*sin(w),?-sin(u)*sin(w)-cos(u)*sin(v)*cos(w)]
[?-sin(u)*cos(v),??cos(u)*cos(w)+sin(u)*sin(v)*sin(w),?-cos(u)*sin(w)+sin(u)*sin(v)*cos(w)]
[?????????sin(v),???????????????????????cos(v)*sin(w),???????????????????????cos(v)*cos(w)]
>>?
?