Delete row in matrix and move

3 ビュー (過去 30 日間)
Sebastian
Sebastian 2018 年 8 月 2 日
コメント済み: KALYAN ACHARJYA 2018 年 8 月 2 日
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 件のコメント
KALYAN ACHARJYA
KALYAN ACHARJYA 2018 年 8 月 2 日
'3 columns data are' means individual data or all elements data?

サインインしてコメントする。

採用された回答

KALYAN ACHARJYA
KALYAN ACHARJYA 2018 年 8 月 2 日
編集済み: KALYAN ACHARJYA 2018 年 8 月 2 日
Let assume matrix M, It deletes the rows having element less than -900
M(M(:, 3)<-900, :)=[]
  2 件のコメント
Sebastian
Sebastian 2018 年 8 月 2 日
Thnx it works perfectly!
KALYAN ACHARJYA
KALYAN ACHARJYA 2018 年 8 月 2 日
Its my pleasure

サインインしてコメントする。

その他の回答 (1 件)

Jitender Gangwar
Jitender Gangwar 2018 年 8 月 2 日
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.

カテゴリ

Help Center および File ExchangeMATLAB についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by