使用MATLAB或Excel将矩阵中的第一行替换为最后一行,以此类推

使用MATLAB或Excel将矩阵中的第一行替换为最后一行,以此类推,excel,matlab,matrix,Excel,Matlab,Matrix,我有一个16*20[输入]矩阵(a)。我想要一个16*20的输出矩阵(B),这样: A1,1=B16,20, A1,2=B16,19, A1,3=B16,18, A2,1=B15,20, A2,2=B15,19, A2,3=B15,18,依此类推 在MS Excel或MATLAB中应该怎么做?看起来您想要将矩阵旋转180度。调用两次以将矩阵旋转180度可以执行以下操作: B = rot90(A, 2); R = 16; C = 20; A = cell(R, C); for r = 1:

我有一个16*20[输入]矩阵(a)。我想要一个16*20的输出矩阵(B),这样:

A1,1=B16,20,
A1,2=B16,19,
A1,3=B16,18,
A2,1=B15,20,
A2,2=B15,19,
A2,3=B15,18,依此类推


在MS Excel或MATLAB中应该怎么做?

看起来您想要将矩阵旋转180度。调用两次以将矩阵旋转180度可以执行以下操作:

B = rot90(A, 2);
R = 16; 
C = 20; 
A = cell(R, C); 
for r = 1:R, 
  for c = 1:C, 
    A(r,c) = strcat(num2str(r),',',num2str(c)); 
  end, 
end

B = flipud(fliplr(A))
例子
如果您不喜欢
rot90
,另一种选择是打电话。其效果是每一行从左向右翻转,每一列从上向下翻转。不管你把它们放在什么顺序

例子
只需一个小代码,您就可以直观地完成所需的转换:

B = rot90(A, 2);
R = 16; 
C = 20; 
A = cell(R, C); 
for r = 1:R, 
  for c = 1:C, 
    A(r,c) = strcat(num2str(r),',',num2str(c)); 
  end, 
end

B = flipud(fliplr(A))

欢迎来到堆栈溢出!你可以先自己试试吗?我很难读懂你的语法。你能不能给我们看一张桌子,或者一些更讨人喜欢的东西?你只是把矩阵旋转180度吗?Matlab和Exel都能处理它-这是一个非常简单的问题。最好提供行数和列数较少的示例,然后采用您自己的答案problem@beaker-看起来像是旋转-是的。用户只需调用
rot90
两次:
B=rot90(A,2)