Comparing Matrices of Differing Dimensions, and Creating a New Matrix which meets a criteria

1 Ansicht (letzte 30 Tage)
I have two row vectors: A = [1 2 2 3 4 5 6], B = [2 1 45 6]
I want all the elements of B that are bigger than A to be eliminated and a new matrix with the remaining elements to be saved.
This is what I have so far:
A(A<=B) = []
But this only works if the matrix dimensions are the same, is there any way to do this comparison and return a matrix which satisfy the condition?
Thanks, Chris
  4 Kommentare
KSSV
KSSV am 25 Jul. 2020
Bearbeitet: KSSV am 25 Jul. 2020
You can make dimensions equal by adding NaN's to smaller array.
A = [1 2 2 3 4 5 6] ;
B = [2 1 45 6] ;
C = NaN(size(A)) ;
C(1:length(B)) = B ;
A(A<=C) =[]
Chris Stout
Chris Stout am 25 Jul. 2020
Thank you I will keep this in mind, as there is definitely multiple scenarios I can see where I will need to do this.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

madhan ravi
madhan ravi am 25 Jul. 2020
B(all(A(:) < B)) = []

Weitere Antworten (0)

Kategorien

Mehr zu Matrix Indexing 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