[英]Octave function to get groups of consecutive columns in matrix
我试图找到一种有效的方法来提取矩阵中的n个连续列组。 例子:
A = [0, 1, 2, 3, 4; 0, 1, 2, 3, 4; 0, 1, 2, 3, 4];
n = 3;
应该产生一个与此类似的 output:
answer = cat(3, ...
[0, 1, 2; 0, 1, 2; 0, 1, 2], ...
[1, 2, 3; 1, 2, 3; 1, 2, 3], ...
[2, 3, 4; 2, 3, 4; 2, 3, 4]);
我知道这可以使用for
循环来实现,例如以下代码片段:
answer = zeros([3, 3, 3]);
for i=1:3
answer(:, :, i) = A(:, i:i+2);
endfor
但是,我试图避免在这种情况下使用for
循环 - 是否也有可能将此操作向量化(使用索引表达式)?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.