Extract rows that their columns have specific values

5 Ansichten (letzte 30 Tage)
LH
LH am 12 Okt. 2022
Beantwortet: VBBV am 6 Nov. 2022
Hi,
I have the following matrix:
A = [ 0.1 0 ;
0.5 0 ;
3 0 ;
0 0 ]
and I want to extract the rows that their columns elements are larger or equal to zero and less or equal to one:
for i = 1:size(A,1)
ind = (A(i,:) >=0) & (A(i,:) <=1);
A1 = A(ind,:)
end
The answer should be:
A1 = [0.1 0 ;
0.5 0 ;
0 0 ]
but my code does not give me the last row.
Any help would be appreicted.

Antworten (2)

KSSV
KSSV am 12 Okt. 2022
A = [ 0.1 0 ;
0.5 0 ;
3 0 ;
0 0 ] ;
for i = 1:size(A,1)
ind = (A(i,:) >=0) & (A(i,:) <=1);
A1 = A(i,ind)
end
A1 = 1×2
0.1000 0
A1 = 1×2
0.5000 0
A1 = 0
A1 = 1×2
0 0

VBBV
VBBV am 6 Nov. 2022
A = [ 0.1 0 ;
0.5 0 ;
3 0 ;
0 0 ];
for i = 1:size(A,1)
if (A(i,:) >= 0) & (A(i,:) <=1) %
A1(i,:) = A(i,:);
end
end
A1
A1 = 4×2
0.1000 0 0.5000 0 0 0 0 0

Kategorien

Mehr zu Matrix Indexing 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