對於座標系w上的一點(x,y)經過線性變換A得到的點是(x′,y′)。注意,這裏面的點還是在w座標系下的。比如,旋轉變換L,原基底是(1,0),(0,1),經過旋轉變換後得到的是(cosθ,sinθ),(−sinθ,cosθ),因此旋轉矩陣可以寫作爲:
L=(cosθ−sinθsinθcosθ)(1)
w座標系下的任何點的座標經過旋轉變換的座標都可以由下面的式子求得:
x′=Lx(2)
下面思考的問題是,一個向量在旋轉後的座標系(假設爲b),則在此座標系下的座標應該怎麼求解呢?顯然,我們可以根據幾何關係很容易得到,我們這裏從另外一個角度出發:
對於一個向量m在w座標系下的表示爲:m=ai+bj,在b座標系下的座標爲:m=a′i′+bj′那麼這兩個向量應該是相同的,表示爲矩陣則是:
(ab)=P(a′b′)(3)
結合2
和3
式我們可以看出P=L−1,對於一個二維的旋轉矩陣:
L=(cosθsinθ−sinθcosθ)(4)
那麼,我們可以求得旋轉後的座標系向量表示變換矩陣:
P=L−1=(cosθ−sinθsinθcosθ)(5)
在詢問了數學系的科大學長後才得知,這是兩個不同數學角度的表達,前者是代數角度,後者是幾何角度。啊,自己還想了一個鐘頭。=-=。
加速度計測量到的值爲(注意是機身座標系)(Axb,Ayb,Azb)T,由於在懸停過程中,飛行器在導航座標系的加速度值爲(0,0,g)T,因此有:
RbnAb=⎝⎛00g⎠⎞
其中,Rbn是機身到導航座標系的變換矩陣:
Rbn=⎝⎛cθcθsψ−sθsϕsθcψ−cθsψcϕcψ+sϕsθsψcθsϕsϕsψ+cϕsθsψcϕsθsψ−sϕcψcϕcθ⎠⎞
師兄說,手推出姿態角,比較懶,找到MMA求解旋轉問題的方法:
ComplexExpand[RotationMatrix[{{0, 0, -g}, {x, y, z}}], TargetFunctions -> {Re, Im}]//Simplify
比較快速的求解出姿態角。
矩陣的線性變換的再次理解
設x1,⋯,xn以及y1,⋯yn是空間V的兩組基,那麼:
yi=k=1∑nakixi=(x1,⋯,xn)⎝⎛a1i…ani⎠⎞
因此,可以用矩陣來表示:
y=xA
稱矩陣A爲過渡矩陣。
如果基底x採用的是標準正交基,那麼y=A=(a1,⋯,an),即變換矩陣的每一列的就是另外一組基。
下面討論座標的變換:
對於空間V中的任意一個向量l=∑i=1nξixi=∑j=1nηjyj
那麼:
l=(x1,⋯,xn)⎝⎛ξ1⋯ξn⎠⎞=(y1,⋯,yn)A−1⎝⎛ξ1⋯ξn⎠⎞=(y1,⋯,yn)⎝⎛η1⋯ηn⎠⎞
那麼:
⎝⎛η1⋯ηn⎠⎞=A−1⎝⎛ξ1⋯ξn⎠⎞
比如在飛控中,統一物理量在不同座標系下的表示要需要這個trick。