Я хотел бы добавить другой подход. Как я вижу, когда вы просите «повторения», поэтому, возможно, вы хотите повторить один и тот же «шаблон». Для этого легко использовать строковые функции.
A=[1,2,3,4,1,2,3,4,1,2,3]
position_repetition = strfind(A,A(1:2))
Я полагаю, вы могли бы использовать regexp
для более сложного рисунка. Как это проверить, будет для самого длинного рисунка, который повторяется:
tmp = regexp(char(A),'(?<group>.+)\1+','names')
group = double(tmp.group)
это должно быть, как я понимаю, вопрос - он проверяет, является ли это repetion из первых двух записей:
A=[1,2,3,4,1,2,3,4,1,2,3,4]
tmp = regexp(char(A),'^(?<group>..)\1+$','names')
AUX = ~isempty(tmp)
К сожалению, неверно истолкованы вопрос. Удалили мой ответ. Я правильно понимаю, что вы хотели бы, например, «AUX = 1», если 'A = [2 3 4 2 3 4 2 3 4 2 3 4]'? –
Спасибо, что помогли мне. Я хочу, чтобы AUX = 1, если A = [2 3 2 3 2 3] или A = [2 3 2 3 2]. Только если значения повторяются, если нет, (например: A [1 2 3 4 1 2 2 3]) AUX должно быть = 0 –
Что вы подразумеваете под «повторить первые два значения для всех столбцов после»? Каким должно быть значение 'AUX' для' A = [2 3 3 2] '? Что относительно 'A = [2 3 3 3 3 2 3]' или 'A = [2 3 4 4 4 2 3]'? –