第一,既然是平移,那么就跟交换一样{a=c,c=b,b=a},交换c和b的值,必须有一个中间变量a,你的代码中没有。第二,Matlab图像平移,b(1:1+y,1:n)=a(m-y:m,1:n); 这句话,错误太多,你的变量i呢,哪去了,不然怎么随循环变化。呜呜,,试试matlab矩阵交换是否可行,我本地无法测试,就不帮你试了。