using 'controlchart' and 'findpeaks'
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Fercho_Sala
le 13 Avr 2021
Commenté : Star Strider
le 15 Avr 2021
Hello everybody. I’m using the function “controlchart” to analyze something like the data in the picture, however I was wondering how to use the ‘’findpeaks’’ function to identify the peaks in the red circles and also the width of those peaks. Apparently the ‘’findpeaks’’ function doesn’t work properly in this case, it is possible to use both functions in one chart?. Thank you.
1 commentaire
Réponse acceptée
Star Strider
le 13 Avr 2021
That is going to be something of a challenge, however it is possible.
load parts
st = controlchart(runout,'charttype',{'xbar' 'r'});
Ax = gca; % Axis Handle
Kids = Ax.Children; % Axis ‘Children’
x = Kids(4).XData; % Choose Desired Variable, Get ‘XData’
y = Kids(4).YData; % Choose Desired Variable, Get ‘YData’
[pks,locs] = findpeaks(y, 'MinPeakProminence',0.5); % Peaks With Desired Characteristics
figure
plot(x, y)
hold on
plot(x(locs), y(locs), '^r')
hold off
grid
That should work, although it will likely be necessary to experiment with it to get the correct variable and the desired peak characteristics.
5 commentaires
Walter Roberson
le 14 Avr 2021
plot((XDATA(locs,151), y(locs), '^r')
perhaps ?
Star Strider
le 14 Avr 2021
@Walter Roberson — Thank you!
@Fernando Salamanca Guerrero — I cannot comment on how well my code works with your data. It may be necessary to change the code to work correctly with it, since it may have different characteristics from the characteristics of the data in the example code from the documentation that I used. I cannot help you with that because I do not have the data you are using, or your controlchart call. If you provide those, I can do more than guess as to what the correct approach would be.
Plus de réponses (1)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!