Delete row in matrix and move

3 Ansichten (letzte 30 Tage)
Sebastian
Sebastian am 2 Aug. 2018
Kommentiert: KALYAN ACHARJYA am 2 Aug. 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 Kommentar
KALYAN ACHARJYA
KALYAN ACHARJYA am 2 Aug. 2018
'3 columns data are' means individual data or all elements data?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Jitender Gangwar
Jitender Gangwar am 2 Aug. 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.

Kategorien

Mehr zu MATLAB finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by