フィルターのクリア

Selecting only some rows of a matrix

2 ビュー (過去 30 日間)
MRC
MRC 2013 年 12 月 12 日
回答済み: Andrei Bobrov 2013 年 12 月 12 日
Hi, I have a matrix A mxn and I want to select only some of its rows satisfying this criterion: A(i,1)<=1e-03 && A(i,1)>=-1e-03 && A(i,2)<=1e-03 A(i,2)>=-1e-03 && A(i,3:end)<= 1e-03. I can't use loops.
Could you help me? Thanks

採用された回答

Azzi Abdelmalek
Azzi Abdelmalek 2013 年 12 月 12 日
idx=A(:,1)<=1e-03 & A(:,1)>=-1e-03 & A(:,2)<=1e-03 & A(:,2)>=-1e-03 & all(A(:,3:end)<= 1e-03,2)
B=A(idx,:)

その他の回答 (2 件)

Simon
Simon 2013 年 12 月 12 日
編集済み: Simon 2013 年 12 月 12 日
Hi!
So, what is "i"? Did you mean ":"? I assume ":" here.
Start by looking at the first criterion, you can write
crit1 = A(:, 1) <= 1e-3;
This will give you a logical vector. Do the same with the other criterions and combine them.
Hint: For the last criterion the function "all" is useful.

Andrei Bobrov
Andrei Bobrov 2013 年 12 月 12 日
A(all(A(:,1:2) >= -1e-3,2) & all(A <= 1e-3,2),:)

カテゴリ

Help Center および File ExchangeOceanography and Hydrology についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by