Delete row in matrix and move

3 visualizaciones (últimos 30 días)
Sebastian
Sebastian el 2 de Ag. de 2018
Comentada: KALYAN ACHARJYA el 2 de Ag. de 2018
Hi, I have Matrix [500000 rows x 3 columns]. In 3 columns are data from -1100 to +1000. I want delete a row if in 3 columns data are < -900. Next I'd like to move another rows in a place of deleted column and wrie as a new matrix. For example:
A=[20 30 40; 20 40 -930; 30 40 600];
In the 2nd row in 3d column is -930. I'd like to have
B=[20 30 40; 30 40 600];
Thanks for your help
  1 comentario
KALYAN ACHARJYA
KALYAN ACHARJYA el 2 de Ag. de 2018
'3 columns data are' means individual data or all elements data?

Iniciar sesión para comentar.

Respuesta aceptada

KALYAN ACHARJYA
KALYAN ACHARJYA el 2 de Ag. de 2018
Editada: KALYAN ACHARJYA el 2 de Ag. de 2018
Let assume matrix M, It deletes the rows having element less than -900
M(M(:, 3)<-900, :)=[]
  2 comentarios
Sebastian
Sebastian el 2 de Ag. de 2018
Thnx it works perfectly!
KALYAN ACHARJYA
KALYAN ACHARJYA el 2 de Ag. de 2018
Its my pleasure

Iniciar sesión para comentar.

Más respuestas (1)

Jitender Gangwar
Jitender Gangwar el 2 de Ag. de 2018
Hello Sebastian,
I understand you want to remove the rows containing values less than -900. I believe this can be achieved by using the 'find' function.
Hereby is an illustrative code for your reference:
A = [20 30 40; 20 40 -930; 30 40 600];
[r, c] = find(A < -900);
A(r, :) = [];
I hope this answers your query.

Categorías

Más información sobre MATLAB 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