Matlab - AYUDA POR FAVOR. Hacer que mi algoritmo llene de ceros aquellos números que no es capaz de encontrar

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

AYUDA POR FAVOR. Hacer que mi algoritmo llene de ceros aquellos números que no es capaz de encontrar

Publicado por Simón (18 intervenciones) el 06/01/2020 20:07:05
Hola a todos. Supongamos que tengo una gráfica de una onda, y necesito hallar 2 picos específicamente. La automatización que realicé es la siguiente:

1
2
3
[~ ,jsila_a]=findpeaks(yrecsila_a(10:99),f(10:99),'NPeaks',2,'MinPeakHeight',pa*max(yrecsila_a(10:99)),'MinPeakDistance',da);xlim([200 10e3]);
f1sila_a=jsila_a(1);
f2sila_a=jsila_a(2);

Estoy usando la función findpeaks, con determinados parámetros que establecí para encontrar esos 2 picos que necesito.

El problema es que hay algunas gráficas (que por una razón u otra) en las cuales mi algoritmo no es capaz de identificar esos picos porque los parámetros establecidos no encajan bien con esa determinada gráfica.

Necesito entonces, que si mi algoritmo no es capaz de encontrar esos picos, que llene esas dos variables con 0 (en vez de arrojarme un error), para así poder realizar los cálculos posteriores con normalidad.
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
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

AYUDA POR FAVOR. Hacer que mi algoritmo llene de ceros aquellos números que no es capaz de encontrar

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 06/01/2020 20:29:34
1
2
3
4
5
6
7
8
[~ ,jsila_a]=findpeaks(yrecsila_a(10:99),f(10:99),'NPeaks',2,'MinPeakHeight',pa*max(yrecsila_a(10:99)),'MinPeakDistance',da);xlim([200 10e3]);
if length(jsila_a)>=2
    f1sila_a=jsila_a(1);
    f2sila_a=jsila_a(2);
else
    f1sila_a=0;
    f2sila_a=0;
end

No puedo probar el codigo, porque está incomplejo. Pueda que no sea la solución adecuada, pero es una solución aproximada.

Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab
Servicio de Asesoría Online en Matlab


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar