Peak alignment from matrix of curves

6 Ansichten (letzte 30 Tage)
Samuel Tomp
Samuel Tomp am 26 Feb. 2019
Kommentiert: Star Strider am 26 Feb. 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);

Akzeptierte Antwort

Star Strider
Star Strider am 26 Feb. 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 Kommentare
Samuel Tomp
Samuel Tomp am 26 Feb. 2019
That worked perfectly thank you!
Star Strider
Star Strider am 26 Feb. 2019
As always, my pleasure!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte


Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by