Find max of matrix without using built in function.

3 次查看(过去 30 天)
I want to find the "max(a)" without actually using the built in "max" function.
  2 个评论
Roland
Roland 2011-5-4
I'm trying to do this with a for loop as test preparation.
Sean de Wolski
Sean de Wolski 2011-5-4
We won't do your homework for you. What have you tried so far.

请先登录,再进行评论。

采纳的回答

Paulo Silva
Paulo Silva 2011-5-4
mx=a(1);
for p=2:numel(a)
if a(p)>mx
mx=a(p);
end
end
mx %the maximum value
  3 个评论
Paulo Silva
Paulo Silva 2011-5-4
%code made here, not tested in matlab
mxc=zeros(1,size(a,2));
for n=1:size(a,2)
mx=a(1,n);
for p=2:size(a,1)
if a(p,n)>mx
mx=a(p,n);
end
end
mxc(n)=mx;
end
mxc %the maximum value per column
Paulo Silva
Paulo Silva 2011-5-4
The code isn't optimized on purpose, like Sean said "We won't do your homework for you"

请先登录,再进行评论。

更多回答(2 个)

Sean de Wolski
Sean de Wolski 2011-5-4
the_max = -min(-(a(:)))

Adrien Leygue
Adrien Leygue 2011-5-4
The following code will extract the minimum over each column. No loop no max no min and of course not optimal. Feel free to adapt it to other purposes:
S = A((repmat(eye(size(A,1)),[1 size(A,1)]) *(kron(A,ones(size(A,1),1)) < kron(ones(size(A,1),1),A)))==0)'
A.

类别

Help CenterFile Exchange 中查找有关 Get Started with MATLAB 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by