# Mapping of two functions by stretching and adding

Say you have two functions $f_1(x)$ and $f_2(x)$ that are the interpolation functions of two data sets $d_1$ and $d_2$, with $f_2(x)=Y(x)+f_1(X(x))$. Is it possible to find both functions $X(x)$ and $Y(x)$ if you only have both data sets? Actually you map $f_2$ onto $f_1$. The two data sets look like this:

d1={{0, 5.}, {4, 17.6873}, {8, 36.2932}, {12, 52.1313}, {16, 62.8653}, {20, 68.8486}, {24, 71.3254}, {28, 71.6168}, {32, 70.8098}, {36, 69.6834}, {40, 68.7371}, {44, 68.2528}, {48, 68.3587}, {52, 69.0826}, {56, 70.3932}, {60, 72.228}, {64, 74.5126}, {68, 77.1716}, {72, 80.1349}, {76, 83.3414}, {80, 86.739}, {84, 90.2852}, {88, 93.9455}, {92, 97.6927}, {96, 101.506}, {100, 105.368}};
d2={{0, 6.}, {4, 15.4223}, {8, 32.1862}, {12, 47.0141}, {16, 57.1697}, {20, 63.0032}, {24, 66.0339}, {28, 67.6444}, {32, 68.5314}, {36, 68.8707}, {40, 68.7382}, {44, 68.3215}, {48, 67.8453}, {52, 67.5512}, {56, 67.8747}, {60, 69.419}, {64, 72.3431}, {68, 76.0432}, {72, 79.8233}, {76, 83.4532}, {80, 87.0179}, {84, 90.6225}, {88, 94.3029}, {92, 98.0541}, {96, 101.861}, {100, 105.711}};


Both curves look very similar to each other:

ListPlot[{d1,d2}]


The used functions $X(x)$ and $Y(x)$ originate from these two data sets $x$ and $y$.

x={{0, 0.999959}, {4, 0.999702}, {8, 0.998379}, {12, 0.993401}, {16, 0.979691}, {20, 0.95205}, {24, 0.911246}, {28, 0.867138}, {32, 0.832227}, {36, 0.812048}, {40, 0.803857}, {44, 0.803086}, {48, 0.809083}, {52, 0.825803}, {56, 0.857162}, {60, 0.9}, {64, 0.942839}, {68, 0.97421}, {72, 0.991031}, {76, 0.997635}, {80, 0.999532}, {84, 0.999931}, {88, 0.999992}, {92, 0.999999}, {96, 1.}, {100, 1.}}
y={{0, 1.}, {4, -2.2597}, {8, -4.04873}, {12, -4.85149}, {16,-5.01451}, {20, -4.78243}, {24, -4.32515}, {28, -3.75814}, {32,-3.15766}, {36,-2.57205}, {40, -2.03003}, {44, -1.54681}, {48,-1.12853}, {52, -0.775416}, {56,-0.484048}, {60, -0.248935}, {64,-0.063589}, {68, 0.0787609}, {72,0.184708}, {76, 0.260396}, {80, 0.311366}, {84, 0.342499}, {88, 0.358007}, {92, 0.361464}, {96, 0.355854}, {100, 0.343635}}


Thanks for your help.

EDIT: Maybe it is a good idea that the functions $X(x)$ and $Y(x)$ should be optimized with respect to a minimum value of the target function $S(x)=\int_{0}^{x_{max}}|Y(x)|dx+\int_{0}^{x_{max}}|f_2(x)-f_2(X(x))|dx$. This would ensure a lowest level of "manipulation effort". Because of $Y(x)=f_1(x)-f_2(X(x))$ the function $S(x)$ has to be minimized only with respect to $X(x)$. Any idea how to efficiently programm this for data sets?

Best regards,

Mogi

• are there any relationships between the datasets? – ivbc Jun 20 '17 at 15:47
• @ivbc: Both data sets have always the same x-range but different y-range. The data set d2 is created by using $f_2(x)=f_1(X(x))+Y(x)$. – Mogualus Jun 20 '17 at 15:52