提问之八:如何将一个矩阵顺时针旋转180度?
浏览:140025 回答:10
如何将一个矩阵顺时针旋转180度?
方法越多越好!
如何将一个矩阵顺时针旋转180度?
方法越多越好!
其实还有利用图象处理函数的方法,还有跟帖的吗?
function rotm180=rotm180(M)
M1=M';
M2=M1(:);
[a,b]=size(M2);
for i=1:a
M3(i)=M2(a-i+1);
end
[a,b]=size(M);
for i=1:a
for j=1:b
rotm180(i,j)=M3((i-1)*b+j);
end
end
呵呵,还有啊~
还可以结合使用flipud和fliplr两个命令来实现;
flipud用于上下翻转矩阵,fliplr用于左右翻转矩阵,示例如下:
a =
3 5 4
6 7 8
9 10 1
11 12 13
flipud(fliplr(a));
ans =
13 12 11
1 10 9
8 7 6
4 5 3
结果和rot90(a,-2)的效果是一样的。
举例如下:
A=[1,2,3;4,5,6]; !设置矩阵A数值
B=rot90(A,-2); !-2代表逆时针旋转90×(-2)度,也即瞬时针旋转180度!
结果如下:
A =
1 2 3
4 5 6
B2 =
6 5 4
3 2 1
TOP