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

1 Stimme

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

0 Stimmen

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 Hilfe-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