find the element in matrix of intersecting vectors

2 次查看(过去 30 天)
Here's my code. I have а & b matrices, and A & B vectors that maximize a's rows and b's colums. also there is another matrix that is a combination of these two matrices ( c ).
I want to have such a result that the intersection of A and B vectors will give the corresponding element from c
For example if
A(1)=a(2,1) & A(2)=a(2,2)
B(1)=b(1,2) & B(2)=b(2,2)
THUS the result is c(2,2)
a=[1,2;3,4]
b=[5,6;7,8]
for i=1:2
A(i)=max(a(:,i))
B(i)=max(b(i,:))
end
  2 个评论
Ani Asoyan
Ani Asoyan 2020-1-23
ok here's the thing.
I have two matrices.
a=[1, 2; 3, 4]
b=[5, 6; 7, 8]
and I maximize 'a' matrix's rows
A(1)=max(a(:,1))
A(2)=max(a(:,2))
and maximize 'b' matrix's colums
B(1)=max(b(1,:))
B(2)=max(b(2,:))
now I have 2 vectors` A and B
Also I combine a and b matrices and get another matrix named c (sorry I didn't include it in the code back then)
endnum2strcell = @(m) arrayfun(@num2str, m, 'UniformOutput', false);
c=strcat(num2strcell(a), num2strcell(b))
Here's the question
I want to get the element of intersection of 'A' and 'B' vectors, and I want it to find in c matrix.
For example. If
A(1)=a(1,1)
A(2)=a(1,2) ('A' vector will be 'a' matrix's 1st column)
B(1)=b(1,2)
B(2)=b(2,2) ('B' vector will be 'b' matrix's 2nd row)
then the result will be c(1,2)

请先登录,再进行评论。

采纳的回答

Matt J
Matt J 2020-1-23
编辑:Matt J 2020-1-23
attainedA=( max(a,[],1)==a );
attainedB=( max(b,[],2)==b );
result = c(attainedA & attainedB)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Shifting and Sorting Matrices 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by