【问题标题】:loop for selecting consequtive rolling rows of matrix用于选择矩阵的连续滚动行的循环
【发布时间】:2012-05-23 14:02:47
【问题描述】:

我是 MATLAB 的初学者。我需要创建一个循环,该循环将从矩阵中选择多个滚动连续行并生成一个新矩阵,该矩阵将在列中显示所选行的元素。例如:

一个=

 1     2     3
 4     5     6
 7     8     9
10    11    12

loop = 2 ,表示选择连续2行的滚动,第1行&2行2&3行3&4,)

预期结果将是以下矩阵: b =

 1     4     7
 2     5     8
 3     6     9
 4     7    10
 5     8    11
 6     9    12

所选行的元素应放置在新矩阵的列中。

我能做到吗?

谢谢

【问题讨论】:

    标签: matlab loops for-loop matrix


    【解决方案1】:

    这取决于你想要使它的通用性。您的问题中有很多不言而喻的假设,而“滚动”是一个模棱两可的术语。对于您的具体情况,对于输入矩阵 A,“循环”= n:

    function B = rollup(A,n)
    B = [];
    for i = 1:n
       Btemp = transpose(A(i:i+2,:));
       B = [B;Btemp];
    end
    

    请注意,这仅适用于您有三列的非常具体的情况,并且不能有 n > l-2 其中 l 是行数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-17
      • 1970-01-01
      • 2011-10-07
      • 2018-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多