Envoyé par
soft001
Tu peux essayer ce code
1 2 3 4 5 6 7 8 9 10 11
| load sunspot.dat
year = sunspot(:,1);
avSpots = sunspot(:,2)*20; % Ton signal, je pense que c'est toto dans ton cas
plot(year,avSpots);
[pks,locs]=findpeaks(avSpots,'MinPeakProminence',2000)
hold on
plot(year(locs),pks,'ro')
IndexPeakparplage(1)=numel(find(locs>0& locs<100)); % nombre de pics entre 0 et 100
IndexPeakparplage(2)=numel(find(locs>100& locs<1000)); % nombre de pics entre 0 et 100 |
Bonjour,
Lorsque j'essais le code j'ai le message d'erreur (matlab R2013b) :
Error using uddpvparse (line 103)
The name 'MinPeakProminence' is not an accessible property for an
instance of class 'findpeaks'.
Error in findpeaks>parse_inputs (line 84)
hopts = uddpvparse('dspopts.findpeaks',varargin{:});
Error in findpeaks (line 59)
[X,Ph,Pd,Th,Np,Str,infIdx] = parse_inputs(X,varargin{:});
Y a t il une option à activer ?
Si je comprend le code, [pks,locs]=findpeaks(avSpots,'MinPeakProminence',2000)
celui-ci me donnera tout les pick supérieur à 2000 (en liste dans la fenetre de commande)
est-il possible de récupérer la liste sur une variable ?
Autre point, je n'ai qu'une variable 'toto' qui à comme valeur 1664617x1 double
Merci d'avance du temps que vous m'accordez
Partager