Peak alignment from matrix of curves

4 vues (au cours des 30 derniers jours)
Samuel Tomp
Samuel Tomp le 26 Fév 2019
Commenté : Star Strider le 26 Fév 2019
Hi, I'm working on a project that needs me to align and average multiple curves into a single curve. Right now I have a 150x4 matrix that gives the graph:
I need to shift the graphs so that all of their peaks line up but I'm not sure how I should do it. Here is also the relevant code:
Stress_min = islocalmin(Stress_smooth, 'MinProminence', prominence);
figure;
plot(time, Stress_smooth, time(Stress_min), Stress_smooth(Stress_min), 'r*')
mins_locs = ceil(time(Stress_min) * 30);
num_min = length(mins_locs)-1;
for i = 1:num_min
Stress_smooth_curves = Stress_smooth(mins_locs(i):mins_locs(i+1));
Stress_curves(1:length(Stress_smooth_curves), i) = Stress_smooth_curves;
end
figure;
plot(Stress_curves);

Réponse acceptée

Star Strider
Star Strider le 26 Fév 2019
See if the alignsignals (link) function will provide the result you need. Choose one signal and align the rest of them to it.
  5 commentaires
Samuel Tomp
Samuel Tomp le 26 Fév 2019
That worked perfectly thank you!
Star Strider
Star Strider le 26 Fév 2019
As always, my pleasure!

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by