Remove values from matrix based on another matrix

2 visualizaciones (últimos 30 días)
Thang  Le
Thang Le el 9 de Mayo de 2013
Hi,
I have matrix A with the dimensions of 45 x 73 x 28. I have matrix B with the dimensions of m x n x p. I would like to remove all the rows in B that contain any values exceeding the corresponding values in A? This means rows to be deleted from B would have m>45 and/or n>73 and/or p>28. Basically A would be the limit for B.
I'm sure this is a common problem and someone must have asked before but I was not able to find the asnwer. Could someone please help?

Respuesta aceptada

Azzi Abdelmalek
Azzi Abdelmalek el 9 de Mayo de 2013
B=B(1:45,1:73,1:28)
  2 comentarios
Thang  Le
Thang Le el 9 de Mayo de 2013
Editada: Azzi Abdelmalek el 9 de Mayo de 2013
Thanks, Azzi. Since the dimensions of A are not static, I did the following:
B=B(1:size(A,1),1:size(A,2),1:size(A,3))
However, this gave me an error: Index exceeds matrix dimensions. Not sure why.
Azzi Abdelmalek
Azzi Abdelmalek el 9 de Mayo de 2013
Editada: Azzi Abdelmalek el 9 de Mayo de 2013
Try
siz=min([size(A);size(B)])
B=B(1:siz(1),1:siz(2),1:siz(3))

Iniciar sesión para comentar.

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