【发布时间】:2018-01-30 07:41:02
【问题描述】:
假设我有一个向量:
A=[1 2 3 6 7 8 11 12 13]
我正在尝试实现最终输出,例如:
[1 6 11 2 7 12 3 8 13]
向量重新排列到每第 n 列的前面,在本例中为第 3 列。使用索引会起作用,但它需要一个循环,我试图避免这种循环。知道如何以矢量化方式进行操作吗?谢谢!
nth=3;
for i=1:nth:size(A,2)
A_(:,nth)= A(:,i:nth:end)
end
【问题讨论】:
-
假设
A的长度可以被3 整除,那么reshape(reshape(A,3,[]).',1,[])应该可以工作。 -
@jodag,要将其推广到问题中的第 n 列,只需将
3替换为n