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 commentaire

KALYAN ACHARJYA
KALYAN ACHARJYA le 2 Août 2018
'3 columns data are' means individual data or all elements data?

Connectez-vous pour commenter.

 Réponse acceptée

KALYAN ACHARJYA
KALYAN ACHARJYA le 2 Août 2018
Modifié(e) : KALYAN ACHARJYA le 2 Août 2018

1 vote

Let assume matrix M, It deletes the rows having element less than -900
M(M(:, 3)<-900, :)=[]

2 commentaires

Sebastian
Sebastian le 2 Août 2018
Thnx it works perfectly!
KALYAN ACHARJYA
KALYAN ACHARJYA le 2 Août 2018
Its my pleasure

Connectez-vous pour commenter.

Plus de réponses (1)

Jitender Gangwar
Jitender Gangwar le 2 Août 2018

0 votes

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.

Community Treasure Hunt

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

Start Hunting!

Translated by