find a row with all elements satisfying a condition
조회 수: 1 (최근 30일)
이전 댓글 표시
I have a matrix that looks something like this:
mat = [20, 3; 43 0; 8 3; 100 3; 3 9];
I want to find the rows of the matrix that all of its elements are satisfying a certain condition. For example, if the condition is:
> 10
The result matrix will be:
[8 3; 3 9];
Because those are the only rows in the matrix that both of their elements are smaller then 10. Is there an easy way to achieve this result? Thanks!
댓글 수: 0
답변 (1개)
Aakash Mehta
2020년 6월 24일
편집: Aakash Mehta
2020년 6월 24일
mat = [20, 3; 43 0; 8 3; 100 3; 3 9];
You can use the below code to get rows which satisy the condition.
size1 = size(mat);
vec = zeros(size1(1),1);
for i = 1:size1(1)
vec(i) = all(mat(i,:)<10);
end
extract those rows in the resultant matrix.
result = mat(vec==1, :);
참고 항목
카테고리
Help Center 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!