Matlab - Determinar maximos con matlab

   
Vista:

Determinar maximos con matlab

Publicado por ESAU (1 intervención) el 06/10/2008 16:53:51
Hola amigos del foro, despues de tomar unos consejillos con los PICS ahora estoy con una duda..... de una tarjeta de adquisicion de datos obtuve una serie de datos (positivos y negativos) que al graficarlos se me presento el problema de determinar los maximos de la señal resultante, es decir los valores de las puras crestas de toda la señal graficada....

Estuve checando los comandos que ofrece matlab, y menciona el de max (i), pero ese solo determina el punto maximo mayor y yo necesito todos las crestas positivas y guardarlas en un vector.... como le hago???

Amigos podrian ayudarme???
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

RE:Determinar maximos con matlab

Publicado por Kike (304 intervenciones) el 06/10/2008 19:29:23
Se me ocurre leer un elemento y compararlo con el elemento siguiente y con el elemento anterior. Si el elemento es mayor que el anterior y mayor que el siguiente, entonces es un máximo. Si deseamos encontrar los mínimos, entonces el elemento debe ser menor que el anterior y menor que el siguiente.

x = 0:0.01:5;
maximos = [ ];
vector = sin(5*x);

% leemos desde el segundo elemento hasta el penúltimo
for k=2:length(vector)-1
if vector(k)>vector(k-1) && vector(k)>vector(k+1)
maximos(end+1)=vector(k);
end

No es perfecto, ya que si la señal es ruidosa dará falsos máximos también. Habría que tener en cuenta un umbral con el cual comparar también. Convendría filtrar la señal antes de buscar los máximos.
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

RE:Determinar maximos con matlab

Publicado por Humberto (1 intervención) el 30/08/2010 05:21:47
Aunque es bastante tarde para agradecer, el codigo que pusiste es algo que habia olvidado y me saco de un apuro XD, soy bastante olvidadizo. En cuanto al codigo puede funcionar para señales menos armonicas, solo que hay que usarlo unas cuantas veces mas para dejar lo menor posible la matriz de maximos, quizas no sea buena idea, pero el punto es buscar los picos mas grandes, es solo una idea y quizas funcione o no soy malo en esto.
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

RE:Determinar maximos con matlab

Publicado por victor (1 intervención) el 30/03/2014 22:36:23
Escriba una función que calcule el máximo o mínimo local de una función cuadrática de la
forma f(x) = ax2 + bx + c
Utilice la siguiente línea de definición de la función: [x, y] = maxmin(a,b,c)
Los argumentos de entrada son las constantes a, b y c, y los argumentos de salida son las
coordenadas x e y del máximo o el mínimo de la función. Utilice la función para calcular el
máximo o el mínimo de la función f(x) = 3x2 – 18x + 48
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