[转]实现任意矩阵旋转180度的小程序
作者:求知者function rotm180=rotm180(M)
M1=M'; M2=M1(:); =size(M2);
for i=1:a, M3(i)=M2(a-i+1); end
=size(M);
for i=1:a
for j=1:b, rotm180(i,j)=M3((i-1)*b+j); end
end
例子:
a =
1 2 3 4
4 5 6 7
7 8 9 0
>> rotm180(a)
ans =
0 9 8 7
7 6 5 4
4 3 2 1
[ 本帖最后由 ChaChing 于 2009-8-10 19:04 编辑 ] 为什么现成的rot90不用?两次rot90不就是180度了吗? 是的,但是思路是很多的 也可以通过上下翻转和左右翻转实现啊,我感觉你的程序还是有点复杂了,而且还用了两个for循环嵌套,MATLAB强在矩阵运算,对于循环语句少用为好。 那如果要实现任意角度旋转呢?这该怎么实现呀? flipud(fliplr(M));%最简洁
回复 5楼 arnxuezhe 的帖子
help imrotate[ 本帖最后由 friendchj 于 2009-8-10 18:32 编辑 ]
页:
[1]