# Shifting one curve to a reference curve using error minimization (fmincon from the Minimization Toolbox)

2 views (last 30 days)

Show older comments

### Accepted Answer

Mathieu NOE
on 5 Nov 2021

hello again

as we look at data plotted in log log scale, a x shift is in fact a multiplicative coefficient on the Y amplitude

see the code and results below

I removed in my computation the first X samples where the two curve are not really parallel so it matches better for x > 10

clc

clearvars

data = readtable('ShiftData.xlsx');

X1 = data.x1;

Y1 = data.y1;

X2 = data.x2;

Y2 = data.y2;

% avoid taking into account first samples where two curves are not parallel

a = (Y1./Y2);

b = abs(a./rms(a));

ind = find( b> 0.5 & b < 2 );

am = rms(a(ind));

loglog(X1,Y1,X2,Y2,X2,Y2.*am);

legend('curve 1','curve 2' ,'curve 2 shifted');

##### 3 Comments

### More Answers (2)

### See Also

### Community Treasure Hunt

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

Start Hunting!