find the element in matrix of intersecting vectors

1 Ansicht (letzte 30 Tage)
Ani Asoyan
Ani Asoyan am 23 Jan. 2020
Kommentiert: Ani Asoyan am 23 Jan. 2020
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 Kommentare
KALYAN ACHARJYA
KALYAN ACHARJYA am 23 Jan. 2020
Sorry I donot geting the question?
Ani Asoyan
Ani Asoyan am 23 Jan. 2020
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)

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Matt J
Matt J am 23 Jan. 2020
Bearbeitet: Matt J am 23 Jan. 2020
attainedA=( max(a,[],1)==a );
attainedB=( max(b,[],2)==b );
result = c(attainedA & attainedB)

Weitere Antworten (0)

Kategorien

Mehr zu Shifting and Sorting Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by