I have a chart where Microsoft .NET has automatically scaled it using a (supposedly) log10 function of some kind. I need to figure out what formula they're using for the value at each tick mark. The scale of the chart looks like this:


I can assign the tick mark number as X, then value shown as Y and that gives us this table of numbers:

X | Y
1 | 100
2 | 126
3 | 158
4 | 200
5 | 251
6 | 316
7 | 398
8 | 501
9 | 631
10 | 794
11 | 1000
12 | 1259
13 | 1585
14 | 1995
15 | 2512
16 | 3162
17 | 3981
18 | 5012

Which makes a nice little curved growth: http://i.imgur.com/xNZzeNc.png

Which is a logarithmic curve, though rotated 180 from what I would expect since it starts slowly and has sharp uptick, instead of slowing over time.

So, how can I figure out f(x) = y if I know those numbers above?

Apologies if my verbiage is off, I haven't touched this type of mathematics in a couple of decades.

  • $\begingroup$ well, it is close to an exponential. Pencil and paper suggests $$f(x)=\frac {100}{1.26} \;1.26^x$$ should be an ok fit...indeed that looks ok, it just grows a hair too fast ($f(18)=5085$, for example). To optimize the fit, model it by $F(x)=\lambda A^x$, taking logs you can do a linear regression to optimize. $\endgroup$ – lulu Oct 23 '15 at 20:41
  • $\begingroup$ THAT'S IT! It fits the curve! I think the growing a hair too fast is probably because the chart is slightly taller then the 18th spot. Even so, this is the formula I need. How on earth did you figure it out? Thank you so much. $\endgroup$ – EtanSivad Oct 23 '15 at 20:53
  • 1
    $\begingroup$ I eye-balled it to get the form, then fit it to through the first two points. I note that the posted solution proposes the same method but, arguably more sensibly, fits it through the first point and one further out on the curve. Linear regression would smear the errors around and if high precision is needed, I'd advise doing it that way. But if this suits your purpose, problem solved! $\endgroup$ – lulu Oct 23 '15 at 20:57
  • 1
    $\begingroup$ To complete the fine indications given by lulu and since your problem seems to be an exact one (based on the value $10$) I proposed to replace the value $1.26$ by the more exact $\,10^{1/10}\approx 1.2589254$ to get $$f(x)=10^{(19+x)/10}$$ I hope this clarified things, $\endgroup$ – Raymond Manzoni Oct 23 '15 at 21:28

The growing appears exponential so let's suppose that $$f(x)=a\cdot b^x$$ Solving $f(1)=100,\;f(11)=1000\;$ gives: \begin{align} a\cdot b^1&=100\\ a\cdot b^{11}&=1000\\ \end{align}

Deduce that $\;b^{10}=10\;$ so that $b=\cdots$ and $\;a=\dfrac {100}b$.
Try the function for other values.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.