У меня есть вектор, который, какциркулярно сдвиг вектора
x = [20 11 12 13 14 15 16 17 18 19]
Я хотел бы сместить вектор значения, как указано
if (i = 1)
X = [11 12 13 14 15 16 17 18 19 20]
if (i = 2)
X = [12 13 14 15 16 17 18 19 20 11]
if (i = 3)
X = [13 14 15 16 17 18 19 20 11 12]
В настоящее время я использую for
цикл, чтобы сделать это, но требуется много времени
x = [20 11 12 13 14 15 16 17 18 19];
in = x;
C1 = x;
for lt = 1:1:length(in)
C1 = x ;
if (lt > 1)
for tt = 1:1:lt-1
swap = C1(1);
for pt = 1:1:length(in)-1
C1(pt) = C1(pt+1);
end
C1(length(in)) = swap;
end
end
disp(C1);
end
Возможно, кто-нибудь предложит мне более быстрый алгоритм?
Ну, я думаю, что я просто сделал версию '' bsxfun' вашего решения 'mod' ... надеюсь, что все в порядке! – Divakar
@ Дивакар. Конечно! +1 уже –