在使用matlab軟體進行程式設計計算時,往往會遇到對矩陣進行旋轉、左右翻轉、上下翻轉以及對矩陣元素的行和列進行重新排列的操作。這裡以乙個小例子對rot90()函式、fliplr()、flipud()、reshape()等函式進行介紹。
首先鍵入以下**撞見乙個3×3的矩陣
clear
clc%建立乙個3×3的矩陣a
a=[1 2 3;
4 5 6;
7 8 9;]
執行結果如圖
end輸入b=rot90(a)
對矩陣a進行逆時針旋轉,旋轉角度為90度
結果如圖
對矩陣a進行逆時針旋轉,旋轉角度為180度
結果如圖
由此可見,矩陣旋轉角度為rot(90,2)中引數2×90度。以此類推,可旋轉3×90度,4×90度等等
endfliplr()函式為矩陣左右翻轉函式,具體操作為
b=fliplr(a)
對矩陣a進行左右翻轉操作
結果如圖
flipud()函式為矩陣上下翻轉函式,具體操作為
b=flipud(a)
對矩陣a進行上下翻轉操作
結果如圖
endreshape()函式為對矩陣的行和列進行重新排列的函式,需要注意的是,排列過程中不能改變矩陣中的元素個數,本例中元素個數為9,因此只能改變為9×1、1×9兩種形式。
b=reshape(a,9,1)
將矩陣a由3×3改變為9×1即9行1列,結果如圖
將矩陣a由3×3改變為1×9即1行9列,結果如圖
原文出處:
矩陣運算 矩陣旋轉
以下不加證明地給出在世界座標系中,以座標點 0,0,0 為原點的旋轉矩陣 包含平移的線性變換稱作仿射變換,3d中的仿射變換不能用 3 x 3 矩陣表達,必須使用4 x 4矩陣 1.繞x座標軸旋轉 1 0 0 0 0 cos a sin a 0 0 sin a cos a 0 0 0 0 1 2.繞y...
旋轉列印矩陣 旋轉儲存矩陣 之字形列印矩陣
題目 輸入乙個矩陣,按照從外向裡以順時針順序依次列印出每乙個數字。例如 如果輸入如下矩陣 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 有三問 1 如何實現轉圈列印矩陣?2 如何實現順時針旋轉矩陣?3 如何實現 之 字形列印矩陣?題外話 由於要列印輸出矩陣,從題目可以...
M N矩陣旋轉
一 順時針旋轉九十度 舉例 4 3矩陣a1,旋轉90度,變成3 4矩陣a2。圖1 矩陣旋轉90度 演算法 m 4,n 3,i,j for i 0,ifor j 0,j include includeusing namespace std int main int b 3 4 int m 4,n 3 ...