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

1 visualización (últimos 30 días)
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 comentarios
KSSV
KSSV el 25 de Jul. de 2020
Editada: KSSV el 25 de Jul. de 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 el 25 de Jul. de 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.

Iniciar sesión para comentar.

Respuesta aceptada

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

Más respuestas (0)

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by