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.

采纳的回答

Azzi Abdelmalek
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 个)

类别

Help CenterFile Exchange 中查找有关 Special Functions 的更多信息

标签

尚未输入任何标签。

Community Treasure Hunt

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

Start Hunting!

Translated by