Finding the minimum value of each row of a matrix
조회 수: 2 (최근 30일)
이전 댓글 표시
I've created an arbitrary matrix called 'mat.'
Here's the code I've written to find and display the minimum value of each row of the matrix:
[m,n] = size(mat);
for i = 1:m;
mvec = mat(i,:);
mmin = mvec(1);
for j = 2:length(mvec)
if mvec(j) < mmin
mmin = mvec(j);
fprintf('The min of row %d is %d \n',i,mmin)
end
end
end
Depending on the matrix, this will display multiple values (every element smaller than the first element) for a row and/or skip a row entirely. How do I fix this so that one minimum value for each row will be displayed?
Note: I'm trying not to use the built-in min function.
댓글 수: 0
채택된 답변
Azzi Abdelmalek
2014년 11월 17일
Just change the place of fprintf in your code
mat=[11 11 2 3; 5 2 6 9]
[m,n] = size(mat);
for i = 1:m;
mvec = mat(i,:);
mmin = mvec(1);
for j = 2:length(mvec)
if mvec(j) < mmin
mmin = mvec(j);
end
end
fprintf('The min of row %d is %d \n',i,mmin)
end
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!