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

1 回表示 (過去 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 Center および File ExchangeMatrix Indexing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by