Finding the minimum value of each row of a matrix
4 次查看(过去 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 中查找有关 Special Functions 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!