function [maximo,minimo,mediana,media,desviacion,xmax_loc,... ymax_loc,xmin_loc,ymin_loc]=caract_general(X,Y,num_canales,flag) %Función que pretende realizar una caracterizacion general de las señales. %En ella vamos a calcular el valor máximo, mínimo, la mediana, la media, la moda, %la desviación estandar, los máximos y mínimos locales. %Los datos se devuelven en matrices donde cada elemento de columna %corresponde respectivamente al maximo, minimo... de cada canal. maximo = []; %máximo de las señales minimo = []; %minimo de las señales mediana = []; %mediana de las señales media = []; %media de las señales desviacion = []; %desviación de las señales xmax_loc = []; %posición en t de los máximo locales ymax_loc = []; %valor de los máximos locales xmin_loc = []; %posición en t de los mínimos locales ymin_loc = []; %valor de los mínimos locales % flag=0 %Se usa la función para una porción de señal %en caso contrario flag=2 [i,j]=max(Y); %j instante de tiempo en que se produce el máximo. %i valor del máximo propiamente dicho maximo=i; [h,k]=min(Y); %k instante de tiempo en que se produce el mínimo %h valor del mínimo propiamente dicho minimo=h; mediana=median(Y); media=mean(Y); desviacion=std(Y); %imregionalmax(X) e imregional min me devuelve una matriz con 1 en las posiciones donde %existe un maximo y minimo respectivamente for i=1:num_canales+flag h=imregionalmax(Y(:,i)); ymax_loc=[ymax_loc,h.*Y(:,i)]; xmax_loc=[xmax_loc,h.*X(:,i)]; n=imregionalmin(Y(:,i)); ymin_loc=[ymin_loc,n.*Y(:,i)]; xmin_loc=[xmin_loc,n.*X(:,i)]; end