如何遍历矩阵并检索MATLAB中的上一列?

时间:2011-10-09 14:58:25

标签: matlab

我是MATLAB的新手并不确定这一点。我有一个矩阵

matrix = [1 2 3 4;8 9 5 6]; 

现在我想迭代上面矩阵的列并检索列 在当前之前。因此,如果在迭代时,我们在第2列,那么我们应该检索第1列。

有人可以指出我正确的方向吗?我试过了

for v = matrix 
 disp(v-1) 
end 

但这不起作用。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:4)

首先,我们需要找到矩阵中有多少列:

m = [1,2,3,4;9,8,5,6]
[rows, cols] = size(m)

接下来,我们将遍历所有列并打印出当前列:

for ii=1:1:cols
   disp('current column: ')
   m(:,ii) % the : selects all rows, and ii selects which column
end 

如果您想要上一列,而不是当前列:

for ii=1:1:cols
   if ii == 1
      disp('first column has no previous!')
   else
       disp('previous column: ')
       m(:,ii-1) % the : selects all rows, and ii selects columns
   end
end