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 ExchangeLinear and Nonlinear Regression についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by