My question is not really related to Mathematica; however, I put it in a way that uses Mathematica, so perhaps someone could help here.
I'm given a set of data as
data = {{4, 0.96}, {8, 1.06}, {16, 1.61}, {31, 1.98}, {63, 3.03}, {125, 4.75}, {250, 8.35}, {500, 13.33}}
and asked to reproduce the following plot:
This can be done as follows:
logdata = {Log[2, #[[1]]], #[[2]]} & /@ data;
ListLinePlot[logdata, PlotMarkers -> {Graphics[{Disk[], {Thick, Circle[]}}], 0.04}, Ticks -> {{{2, 4}, {3, 8}, {4, 16}, {5, 31}, {6, 63}, {7, 125}, {8,
250}, {9, 500}}, {2, 4, 6, 8, 10, 12, 14}}]
Now, I'm asked to get the first two points in the above, i.e., $(4, 0.96)$ and $(8, 1.06)$, and to extrapolate linearly and obtain the corresponding $y$ values for $x = 16, 31, 63, 125, 250, 500$.
To this end, first we calculate the slope as $m = (y_2 - y_1)/(x_2 - x_1) = 0.025$ and then we have:
y[x_] := 0.96 + 0.025 (x - 4)
So, for example, for $x = 500$, we have: $y = 13.36$. But this doesn't seem to be correct! The result should be much less than this. What I'm missing here? Does this has something to do with the scale of $x$-axis and I've neglected something? What is the correct approach for linear extrapolation in this case?