how to set a plot to start at zero
20 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
WellsJ
el 27 de Sept. de 2017
Comentada: husnir nasyuha
el 27 de Mzo. de 2019
I am working with gait data and have resampled 1 gait cycle (~120 data points) in to 100 using
[c,d] = size(RawData);
GC_Percent = resample (RawData,100,c);
This seems to work fine but when i plot the data it starts at 1% is there a way to change the output the the first value is plotted at 0 on the y axis?
0 comentarios
Respuesta aceptada
KSSV
el 27 de Sept. de 2017
Subtract the minimum value (1%) from the data and then plot....
2 comentarios
Más respuestas (1)
Jan
el 27 de Sept. de 2017
The output in the plot does not depend on the Y values, but on the provided x values:
y = rand(10, 10);
subplot(1,2,1);
plot(y)
subplot(1,2,2)
plot(0:9, y)
You posted the code for creating y, but the actual problem appears in the command for plotting, which you did not show.
By the way: resample applied an "antialiasing FIR lowpass filter". It is questionable if tis is really wanted for the analysis of the motion. I prefer a linear interpolation and have written for the same problem: FEX: ScaleTime
Yi = ScaleTime(Y, 100)
Are you sure that you want 100 time steps? Usually 101 steps are used in motion analysis to represent 100 intervals of 1%.
4 comentarios
Jan
el 27 de Sept. de 2017
I've posted a link to the code already, which solves the problem much faster than interp1. But if you prefer this function:
sY = size(Y, 1);
Yi = interp1(1:sY, Y, linspace(1, sY, 101));
Ver también
Categorías
Más información sobre Multirate Signal Processing en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!