У меня есть [предложения * слова] матрица, как показано нижеКак сравнить столбцы двоичной матрицы и сравнить элементы в matlab?
out = 0 1 1 0 1
1 1 0 0 1
1 0 1 1 0
0 0 0 1 0
я хочу, чтобы обработать эту матрицу таким образом, что должен сказать W1
& W2
в «предложении № 2» и «предложения № 4» происходит с таким же значение т.е. 1 1
и 0 0
.the выход должен быть следующим:
output{1,2}= 2 4
выход {1,2} указывает слово номер 1 и 2 происходит в предложении номер 2 и 4 с одинаковыми значениями.
после сравнения W1
& W2
следующего кандидата должна быть W1
& W3
, которое происходит с тем же значением в sentence 3
& sentence 4
output{1,3}= 3 4
и так далее до каждого nth
слова по сравнению со всеми другими словами и сохранены.
спасибо за ваш ответ, я хотел бы спросить, что делает '[3 2 1 ] 'делать в функции' bsxfun', во-вторых, я хочу применить эту операцию в [N * M] матрице, где предложения и слова логической матрицы различаются по размеру в разных случаях. могу ли я запустить этот код для любых измерений матрицы предложений? –
@AfzaalAhmad (1) '[3 2 1]' аргумент не из 'bsxfun' напрямую, а для' permute', пожалуйста, прочитайте документацию 'permute', чтобы лучше понять решение. Этот ответ должен работать над любой двумерной матрицей 'out'. – Shai
ОК, и что, если я хочу отображать 'output' в одной строке, а не в формате столбца в отдельных строках, я пробовал' celldisp (output) ', но он дает вывод, состоящий из нескольких строк, которые мне нужно отображать следующим образом 'например' 'output {1,2} = 1 3 4, ...' –