Why wont it output index?
    3 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Hunter Steele
 el 8 de Oct. de 2019
  
    
    
    
    
    Editada: Sulaymon Eshkabilov
      
 el 9 de Oct. de 2019
            function[max,index]=MyMax(x)
   max=0;
   [n,m]=size(x);
   for i=1:m
    if max<x(i)
       max=x(i);
       index=i;
       output = [max, index];
    end
   end
end
0 comentarios
Respuesta aceptada
  Sulaymon Eshkabilov
      
 el 9 de Oct. de 2019
        Hi,
You have done everything correctly except for a couple of minor flaws. Here is the corrected code:
function output = MyMax(x)
      MAX=0;  % It is better to avoid MATLAB's function names, such as, max, min, etc to name variables
      [n, m]=size(x);
      for i=1:m
       if MAX<x(i)
       MAX=x(i);
       index=i;
       output = [MAX, index];
     end
   end
end
This can be tested:
>> x=linspace(-pi,pi);
>> OUT = MyMax(x)
OUT =
   1.0e+02 *
   0.031415926535898   1.000000000000000
Note that the easy solution of your exercise is this simple command:
   [MAX_VAL, INDEX] = max(x)
Good luck.
Más respuestas (1)
  Sulaymon Eshkabilov
      
 el 9 de Oct. de 2019
        
      Editada: Sulaymon Eshkabilov
      
 el 9 de Oct. de 2019
  
      Just use:
[MAX_VAL, INDEX] = min(x)   % instead of max()
Good luck.
Ver también
Categorías
				Más información sobre Matrix Indexing 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!

