Find max of matrix without using built in function.

3 visualizaciones (últimos 30 días)
Roland
Roland el 4 de Mayo de 2011
I want to find the "max(a)" without actually using the built in "max" function.
  2 comentarios
Roland
Roland el 4 de Mayo de 2011
I'm trying to do this with a for loop as test preparation.
Sean de Wolski
Sean de Wolski el 4 de Mayo de 2011
We won't do your homework for you. What have you tried so far.

Iniciar sesión para comentar.

Respuesta aceptada

Paulo Silva
Paulo Silva el 4 de Mayo de 2011
mx=a(1);
for p=2:numel(a)
if a(p)>mx
mx=a(p);
end
end
mx %the maximum value
  3 comentarios
Paulo Silva
Paulo Silva el 4 de Mayo de 2011
%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 el 4 de Mayo de 2011
The code isn't optimized on purpose, like Sean said "We won't do your homework for you"

Iniciar sesión para comentar.

Más respuestas (2)

Sean de Wolski
Sean de Wolski el 4 de Mayo de 2011
the_max = -min(-(a(:)))
  2 comentarios
Roland
Roland el 4 de Mayo de 2011
I need to use logical operators.
Sean de Wolski
Sean de Wolski el 4 de Mayo de 2011
the_max = a(a==-min(-(a(:))))
There!

Iniciar sesión para comentar.


Adrien Leygue
Adrien Leygue el 4 de Mayo de 2011
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.

Categorías

Más información sobre Get Started with MATLAB en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by