Maths(004)矩陣對向量做了什麼?

  • 所有代碼2017a測試通過,只支持2014b以後版本。
  • 歡迎投稿此專欄,每周六左右更新。
  • 歡迎規範轉載。(轉載請私信溝通,謝謝)

開工了,每逢佳節胖三斤半的我又回來了。

從這一期開始,簡單的聊一下線性代數吧。說實話,回想當年那薄薄的一本線性代數(同濟版),真是囫圇吞棗。私以為書還是要讀大厚本,因為我是比較笨的那種人。讀幾個公式能夠做到融會貫穿,臣妾做不到啊!

1, Ax=b

還是舉個簡單的例子。

x = [0;... 1];A = [1,2;... 3,4]/4;b = A*x;fig = figure(1);ax = axes(fig);ax.NextPlot = add;plt1 = plot(ax,[0,x(1)],[0,x(2)],ro-);grid onplt2 = plot(ax,[0,b(1)],[0,b(2)],bo-);axis equalax.XAxisLocation = origin;ax.YAxisLocation = origin;ax.XLim = [-3,3];ax.YLim = [-3,3];

通過直接觀察,從紅色矢量變換到藍色矢量,基本可以將變換總結為兩種形式:

a,對原有矢量進行旋轉

b,對原有矢量進行縮放

加一個點進行進一步的理解。

x = [0,1;... 1,0];A = [1,2;... 3,4]/4;b = A*x;fig = figure(2);ax = axes(fig);ax.NextPlot = add;plt1 = plot(ax,[0,x(1,1),x(1,2),0],[0,x(2,1),x(2,2),0],ro-);grid onplt2 = plot(ax,[0,b(1,1),b(1,2),0],[0,b(2,1),b(2,2),0],bo-);axis equalax.XAxisLocation = origin;ax.YAxisLocation = origin;ax.XLim = [-3,3];ax.YLim = [-3,3];

2,單純用來旋轉的A

那麼應該有一個矩陣能夠實現只旋轉不伸縮的:

T=left( egin{align} cos 	heta &&-sin	heta\ sin	heta && cos	heta end{align} 
ight) 	ag{1}

x = [0,1;... 1,0];T = [cos(pi/4),-sin(pi/4);...%逆時針旋轉45度 sin(pi/4),cos(pi/4)];b = T*x;fig = figure(3);ax = axes(fig);ax.NextPlot = add;plt1 = plot(ax,[0,x(1,1),x(1,2),0],[0,x(2,1),x(2,2),0],ro-);grid onplt2 = plot(ax,[0,b(1,1),b(1,2),0],[0,b(2,1),b(2,2),0],bo-);axis equalax.XAxisLocation = origin;ax.YAxisLocation = origin;ax.XLim = [-3,3];ax.YLim = [-3,3];

3,單純用來伸縮的A

如果想要只伸縮不旋轉矢量呢?那麼這個公式大家應該很熟悉:

Ax=lambda x 	ag{2}

也就是說,需要x為A的特徵向量之一

x = [0,1;... 1,0];A = [2,0; 0,2];b = A*x;[V,D] = eig(A) %求解特徵向量,特徵值fig = figure(4);ax = axes(fig);ax.NextPlot = add;plt1 = plot(ax,[0,x(1,1),x(1,2),0],[0,x(2,1),x(2,2),0],ro-);grid onplt2 = plot(ax,[0,b(1,1),b(1,2),0],[0,b(2,1),b(2,2),0],bo-);axis equalax.XAxisLocation = origin;ax.YAxisLocation = origin;ax.XLim = [-3,3];ax.YLim = [-3,3];

V = 1 0 0 1D = 2 0 0 2

對於2×2矩陣,單純用來旋轉的矩陣T和 e^{i	heta} 是怎麼關聯的?如果感興趣,請翻一下Maths(001)或許你能有答案。

MEZhang:Maths(001)e的一些概念(a)?

zhuanlan.zhihu.com圖標
推薦閱讀:

MATLAB+seconds(1)
[matDL框架開發直播:2]全連接層(dense)的實現和優化
想用別人的實驗來算東西,但沒有他的數據,只有文獻里的圖線怎麼辦?
MATLAB神經網路(四):基於Adaboost的強分類器設計
用MATLAB如何找到軌跡圖中的拐點?

TAG:MATLAB | 線性代數 | 趣味數學 |