Shift a curve in logarithmic scale

20 次查看(过去 30 天)
Hi,
I have two datasets, dataset 1 is the result of experiment (a peak) and the dataset 2 is the result of simulation (a peak). Normally, both datasets should be plotted in the same figure in logarithmic scale and then, to shift the dataset 2 towards dataset 1 and to find the best vertical translation.
The point is that the amount of shift in logarithmic scale is not a constant value for each point (in the contrary to linear scale) and it depends on the Y values of the data (bigger Y value, bigger shift).
I have tried to write a code to do it automatically but it didn't work and I don't know how to code it!
Tnanks in advance for any help and any idea.

采纳的回答

J. Alex Lee
J. Alex Lee 2022-10-3
shifting in log scale is actually a multiplication, not an addition - is that what you need?
  3 个评论
Torsten
Torsten 2022-10-3
编辑:Torsten 2022-10-3
Multiply one of the data sets by a constant factor a ( e.g. multiply data1 by a = data2(1)/data1(1) ) and see what happens.
Note that multiplication results in a shift in logarithmic scale:
log10(a*data) = log10(a) + log10(data)
J. Alex Lee
J. Alex Lee 2022-10-3
An equation is worth a hundred words :)

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by