Azzera filtri
Azzera filtri

Delete row in matrix and move

2 visualizzazioni (ultimi 30 giorni)
Sebastian
Sebastian il 2 Ago 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 Commento
KALYAN ACHARJYA
KALYAN ACHARJYA il 2 Ago 2018
'3 columns data are' means individual data or all elements data?

Accedi per commentare.

Risposta accettata

KALYAN ACHARJYA
KALYAN ACHARJYA il 2 Ago 2018
Modificato: KALYAN ACHARJYA il 2 Ago 2018
Let assume matrix M, It deletes the rows having element less than -900
M(M(:, 3)<-900, :)=[]
  2 Commenti
Sebastian
Sebastian il 2 Ago 2018
Thnx it works perfectly!
KALYAN ACHARJYA
KALYAN ACHARJYA il 2 Ago 2018
Its my pleasure

Accedi per commentare.

Più risposte (1)

Jitender Gangwar
Jitender Gangwar il 2 Ago 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.

Categorie

Scopri di più su Introduction to Installation and Licensing in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by