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

2 次查看(过去 30 天)
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 个评论
KSSV
KSSV 2020-7-25
编辑:KSSV 2020-7-25
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 2020-7-25
Thank you I will keep this in mind, as there is definitely multiple scenarios I can see where I will need to do this.

请先登录,再进行评论。

采纳的回答

madhan ravi
madhan ravi 2020-7-25
B(all(A(:) < B)) = []

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by