找出一个向量是否是另一个向量的旋转的最简单方法是什么?

时间:2013-02-08 18:59:52

标签: matlab

假设我们有a = [1 2 3 4]b = [3 4 1 2]c = [1 2 4 3]。 找出b的最简单方法是ac的转变不是a的转变吗?

是否有一些矩阵函数?

2 个答案:

答案 0 :(得分:1)

我建议你使用strfind。如果ab的轮播,则应在a内找到[b b]

strfind([b b],a)
ans =
     3

>> strfind([c c],a)
ans =
     []

答案 1 :(得分:0)

您可以轮播a size(a)次,检查新轮换的向量是否与b相同:

for i = 1:length(a),
    a = a([end 1:end-1])
    if(a == b)
        disp('true')
    end
end