У меня есть две матрицы в таком виде:Используя матрицу в качестве индекса для выполнения функций на другой - MATLAB
ind=
1
1
1
1
2
2
2
2
2
3
3
type =
A
A
B
A
A
B
A
B
A
B
A
Я хочу, чтобы иметь возможность идентифицировать пары определенного вида т.е. AB и BA, но не АА , Я смог сделать это с использованием операторов IF в таком виде:
if strcmp(type(m),'A') == 1 && strcmp(type(m+1),'B') == 1 && ind(m) == ind(m+1)
И так далее.
Как намекнул на этот оператор IF, мне нужно уметь подсчитывать, сколько действительных пар есть для каждого индекса.
Например, первые четыре типа AABA
относятся к индексу '1', поскольку индекс '1' имеет длину 4, как указано в ind
. Здесь есть две допустимые пары A-B и B-A. A-A не является допустимой парой.
Нужный выход для полного вышеприведенного примера:
2
4
1
Есть быстрый и простой способ для достижения этой цели?
EDIT:
Если типы были расширены, чтобы включить «C» - и система должна обнаружить неуникальным пар, т.е. AB, BA, но и ВВ (но ничего не содержащий C) - это могло быть сделанный? Есть ли способ указать, какие пары подсчитываются каждый раз?
Спасибо! Очень интересный и лаконичный подход. +1 – AnnaSchumann