我试图反转矩阵的元素,使得元素的给定矩阵顺序反转。 我的代码如图3x3矩阵所示。
X = [ 1 2 3 ; 4 5 6 ; 7 8 9 ];
B = [fliplr(X(3,:));fliplr(X(2,:));fliplr(X(1,:))];
输入X =
1 2 3
4 5 6
7 8 9
输出: B =
9 8 7
6 5 4
3 2 1
上面的代码我试图用以下代码概括任何矩阵
[a,b]=size(X);
for i=0:a-1
A = [fliplr(X(a-i,:))];
end
但只获得最后一行作为输出。
输出A =
3 2 1
请帮我在反转之后将矩阵的所有行连接起来。
答案 0 :(得分:3)
rot90
是为此目的而制作的功能。
B = rot90(A,2);
答案 1 :(得分:2)
您的代码不起作用,因为您在每次循环迭代中覆盖A
。相反,您应该索引到A以保存每一行。
然而,fliplr
可以翻转整个矩阵。你想左/右和上/下翻转:
B = flipud(fliplr(X));
这与旋转矩阵相同(在写这篇文章时为Sardar posted):
B = rot90(X,2);
完全不同的方法适用于任何维度的数组:
X(:) = flipud(X(:));