If i have two binary matrix how can calculate the similarities between them
    조회 수: 4 (최근 30일)
  
       이전 댓글 표시
    
If i have (n,m) matrix M
        M =     [ 1 0 1 1 0 1
                  0 1 1 0 0 1
                  0 0 1 0 1 0
                  1 1 1 1 0 0]
And after some operation i found this two matrix which every one shows the number of group of ones in each row and in each column
             M_row = [ 1 2 1
                       2 1 0
                       1 1 0
                       4 0 0 ]
            M_col = [ 1 1 0 1 0
                      1 1 4 1 2 ]
After that generate a random matrix X in same size of M and then calculate the X_row and X_col like Matrix M
After that i need some way or a function to determine the similarities between M and X using the M_row ,M_col , X_row and X_col
댓글 수: 0
채택된 답변
  Walter Roberson
      
      
 2016년 5월 6일
        
      편집: Walter Roberson
      
      
 2016년 5월 6일
  
      if isequal(M_row, X_row) && isequal(M_col, X_col)
  similarity = 1;
else
  similarities = {'purple', 'tuba', 'beer', 'tardigrade', 'top quark'};
  similarity = similarities{randi(length(similarities))};
end
댓글 수: 4
  Walter Roberson
      
      
 2016년 5월 6일
				Well, here it is in function form then:
function similarity = compare_Mx(M_row, M_col, X_row, X_col)
  if isequal(M_row, X_row) && isequal(M_col, X_col)
    similarity = 1;
  else
    similarities = {'purple', 'tuba', 'beer', 'tardigrade', 'top quark'};
    similarity = similarities{randi(length(similarities))};
  end
end
The result of the function is the similarity level that is computed. The function meets all of your specifications for how similarity is to be computed. If it does not produce the answer that you want, then perhaps you should change your specification of "similarity".
추가 답변 (0개)
참고 항목
카테고리
				Help Center 및 File Exchange에서 Resizing and Reshaping Matrices에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

