Rotate set of data points

1 Ansicht (letzte 30 Tage)
Abhishek Mishra
Abhishek Mishra am 13 Jan. 2023
Kommentiert: Abhishek Mishra am 13 Jan. 2023
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?

Akzeptierte Antwort

Mathieu NOE
Mathieu NOE am 13 Jan. 2023
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');
  1 Kommentar
Abhishek Mishra
Abhishek Mishra am 13 Jan. 2023
Thank you! The second solution worked really good.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by