矩阵这个东西看起来很简单,但是我觉得要把它理解成某一种东西(比如说变换)还是有点难度。我在这个问题上面就困扰了很久。某一天,脑袋里面突然灵光一闪,貌似理解了一些,心中甚是欢喜,隧写下这篇文章,以至于以后有所帮助。
1.对矩阵的理解
我个人觉得矩阵就是一个用括号括起来的东西,除此之外没有什么感觉。但是转换这个东西就有点意思了。
比如说:我可以把它看成是一个函数,是某种准则或者是一个魔法箱。
T(X)=AX;
这就是一个矩阵转换,左边是一个函数(我是这样看的),右边是一个矩阵与向量X相乘。
先解释一下左边:
T(X)------------------我们知道函数是一种映射关系,我们给一个X值,经过这个函数的计算我们就可以得到另一个值。
同理,我们给一个向量X给这函数,那么这个函数会给一个输出的值(假设这个值也是向量)。经过这样变化,那么我们
可以这样理解,X进入T这个变换函数变成了另外一个X',我认为这就是T对X进行的一次变换。不知道我理解的对不对,如果不对,希望高手指教
理解了变换了,接下来举一个例子:
例如一个向量X=(1,2);我不知道这个具体的变换函数是什么,就用T表示
假设X经过T变换后,会得到另外一个向量X'=(5,6);变换这个概念解决了,接下来就是怎么获得这个变换函数
2获取变换函数:
其实这个变换函数就是A矩阵。因为T(X)=AX;
很容易证明符合这个变换的矩阵是唯一,也就是说你求出来的A是只有一个的。
下面给出证明:
证明:T(X)=AX;A的唯一性;
X=IX;I是单位矩阵-------------------------X=[e1,......................en]X
[e1,......................en]是向量X的正交基底;
X=x1*e1+x2*e2+......................xn*en;
等式两边同时线性变换;
T(X)=T(x1*e1+x2*e2+......................xn*en);
=>T(X)=X[T(e1)...................T(en)]
所以A就是[T(e1)...................T(en)];
证明过程完毕。
有证明结果可知A就是[T(e1)...................T(en)];
那么我们想对X做变换,那我们先对这个基底做变换,求得A矩阵,然后就可以求得X'=AX;
变换之后的向量,
举个例子:
比如说我想把一下向量都旋转30度
a=(1,2); b=(3,4);c=(0,1);
根据上面的的说明,我首先得找到这些向量的正交基底,很显然是e1=(1,0);e2=(0,1);
然后我们对基底做变换,旋转30度,做顺时针旋转。
T(e1)=(cos(PI/6),-sin(PI/6)) T(e1)=(sin(PI/6),cos(PI/6));
所以A就是
cos(PI/6) sin(PI/6)
-sin(PI/6) cos(PI/6)
把以上向量a,b,c与A相乘一下,就获得了a,b,c旋转30的向量。
好了,写完了。