Rotate set of data points

2 次查看(过去 30 天)
I have a velocity curve which I need to rotate such that the right end remains at the same position where as the left end is rotated to 0 value(y-coordinate). How can I achieve this keeping the curve profile same?

采纳的回答

Mathieu NOE
Mathieu NOE 2023-1-13
hello
see below
the home made solution performs better than built in detrend matlab function (even with 'linear' argument)
%% dummy data
N=1000; % Number of data points
t=[0:1:N-1]/N;
y = 1.5*(1 - t);
y2=sin(20*t)+y;
y(100:N-100) = y2(100:N-100);
%% solution 1
ynew1 = detrend(y,'linear');
%% solution 2 (home made)
dy = y(1) - y(end); % if you want start and end point at same Y value (zero or non zero)
yc = linspace(dy,0,numel(y));
ynew2 = y - yc;
plot(t,y,t,ynew1,t,ynew2)
legend('initial data','linear detrend','home made detrend');

更多回答(0 个)

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by