Matlab - MAXIMOS CON FOR E IF MATLAB AYUUUUDA

 
Vista:
sin imagen de perfil
Val: 11
Ha aumentado su posición en 9 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

MAXIMOS CON FOR E IF MATLAB AYUUUUDA

Publicado por L (6 intervenciones) el 13/01/2022 23:01:23
¿Cómo puedo sacar los máximos locales sin usar comandos como findpeaks?

n_maximos=0;
maximos_locales=[];
for n=1:length(x)-1
if (f(n)>f(n+1)) && (f(n)>f(n-1))
n_maximos=n_maximos+1;
maximos_locales(n_maximos)=x(n);
end
end

Con esa condición no me compila

AYUUUUDA
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

MAXIMOS CON FOR E IF MATLAB AYUUUUDA

Publicado por damian (22 intervenciones) el 23/01/2022 00:53:33
Hola. Le cambié los f(n) por x(n) y el ciclo lo empecé por el segundo valor del vector ya que si empiezas desde el primero le vas a estar preguntando al programa que identifique un valor que no existe [que sería el x(0) si ves bien la parte "&& (x(n)>x(n-1))"]

1
2
3
4
5
6
7
8
n_maximos=0;
maximos_locales=[];
for n=2:length(x)-1
  if (x(n)>x(n+1)) && (x(n)>x(n-1))
  n_maximos=n_maximos+1;
  maximos_locales(n_maximos)=x(n);
  end
end
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar