Convert striaght lines to smooth curves
Ältere Kommentare anzeigen
Hi, I have acceleration and time data and want to create a phase diagram (displacement vs velocity).
My current plot looks like below fig 1, with straight lines connecting each point. Is it possible to change these to smooth curves as fig 2?
fig 1

fig 2

My current code is as below.
v = diff(Acc1).*diff(X_Value); %Acc1 = acceleration data and X_Value = Time
s = diff(v).*diff(X_Value(1:end-1));
figure
plot(s,v(1:end-1))
Akzeptierte Antwort
Weitere Antworten (1)
Why in the name of god and little green apples are you differentiating acceleration? You need to INTEGRATE acceleration, once to get velocity, then again to get displacement.
Differentiating acceleration results in noisy garbage, as it probably should. You differentiated the accelerations TWICE.
data = xlsread('starved_1000_001.lvm.xlsx');
T = data(:,1);
Acc = data(:,2);
vel = cumtrapz(T,Acc);
displacement = cumtrapz(T,vel);
plot(vel,displacement,'-')
3 Kommentare
Pranav Shende
am 26 Aug. 2022
Bearbeitet: Pranav Shende
am 26 Aug. 2022
Michael
am 26 Aug. 2022
@Pranav Shende This might be due a DC bias in your accel measurement. This can happen if you have a bit of gravity measured in the axis of the accel. Try doing
a = a_raw - mean(a_raw)
to eliminate the bias. Also, be sure to accept the answer.
Pranav Shende
am 27 Aug. 2022
Kategorien
Mehr zu Graphics Performance finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

