(转载)Matlab对矩阵进行旋转、左右上下翻转、重新排列
在使用Matlab软件进行编程计算时,往往会遇到对矩阵进行旋转、左右翻转、上下翻转以及对矩阵元素的行和列进行重新排列的操作。这里以一个小例子对rot90()函数、fliplr()、flipud()、reshape()等函数进行介绍。
rot90()旋转函数
-
1
输入
B=rot90(A)
对矩阵A进行逆时针旋转,旋转角度为90度
结果如图
-
2
输入
B=rot90(A,2)
对矩阵A进行逆时针旋转,旋转角度为180度
结果如图
由此可见,矩阵旋转角度为rot(90,2)中参数2×90度。以此类推,可旋转3×90度,4×90度等等
END
左右、上下翻转
-
1
fliplr()函数为矩阵左右翻转函数,具体操作为
B=fliplr(A)
对矩阵A进行左右翻转操作
结果如图
-
2
flipud()函数为矩阵上下翻转函数,具体操作为
B=flipud(A)
对矩阵A进行上下翻转操作
结果如图
END
矩阵行、列重新排列
-
reshape()函数为对矩阵的行和列进行重新排列的函数,需要注意的是,排列过程中不能改变矩阵中的元素个数,本例中元素个数为9,因此只能改变为9×1、1×9两种形式。
B=reshape(A,9,1)
将矩阵A由3×3改变为9×1即9行1列,结果如图
-
B=reshape(A,1,9)
将矩阵A由3×3改变为1×9即1行9列,结果如图
-
原文出处:https://jingyan.baidu.com/article/925f8cb8da760ec0dde056da.html