mablat中如何实现一个矩阵的行顺序颠倒

如题所述

在matlab中,实现矩阵行顺序颠倒的思想如下:

    将矩阵A的倒数第 i 行保存于一个向量变量a中;

    将矩阵A的第 i 行覆盖矩阵A的倒数第 i 行;

    将向量变量a覆盖矩阵A的第 i 行,即可完成矩阵行顺序的颠倒。

具体实现程序如下:

function Y = fun(A)
X = A; % 备份原矩阵
[row, col] = size(X);
for i = 1 : floor(row/2)  % 折半
    a = X(row-i+1, :);  % 保存倒数第 i 行数据
    X(row-i+1, :) = X(i, :);  % 覆盖倒数第 i 行数据
    X(i, :) = a;  % 覆盖第 i 行数据
end
Y = X;  % 输出行顺序颠倒后的矩阵

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-07-17
A如果是那个矩阵,可以A=A(:,end:-1:1)
也可以用函数,fliplr也可以进行左右翻转
第2个回答  2016-07-07
假设行数或列数为n vector = randperm(n); vector是从1到n的整数随机排列的向量 按照vector里各个元素的值重新排列行列向量就可以了 假设待排列矩阵为M,排列后的矩阵为A 按列随机排列 A = zeros(size(M)); for i=1:n A(:,i)=M(:,vector(i)); end本回答被网友采纳
第3个回答  2016-07-28
B=A(end:-1:1)
相似回答