MathGroup Archive 2004

[Date Index] [Thread Index] [Author Index]

Search the Archive

Seeking a compact expression in a model.

  • To: mathgroup at smc.vnet.net
  • Subject: [mg48940] Seeking a compact expression in a model.
  • From: gilmar.rodriguez at nwfwmd.state.fl.us (Gilmar Rodr?guez Pierluissi)
  • Date: Thu, 24 Jun 2004 05:36:07 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

Greetings Mathematica User Group!

In[1]: \!\(\(points = {{10, 2}, {
      10\^2, 6}, {10\^3, 28}, {10\^4, 127}, {
          10\^5, 810}, {10\^6, 5402}, {10\^7, 38807}, {10\^8, 291400},
{
        10\^9, 2274205}};\)\)

In[2]: << Statistics`NonlinearFit`

In[3]:  \!\(BF[n_] = NonlinearFit[
    points, a\_1 + a\_2*n + ß\_1*Log[n]*n\  + 
      ß\_2*Log[Log[n]]*n + ß\_3*Log[Log[Log[n]]]*n +
ß\_4*Log[Log[Log[Log[
        n]]]]*n + ß\_5*Log[Log[Log[Log[Log[n]]]]]*
        n + ß\_6*Log[Log[Log[Log[Log[Log[n]]]]]]*n + ß\_7*Log[Log[Log[
          Log[Log[Log[Log[n]]]]]]]*n, {n}, {a\_1, a\_2, ß\_1, 
        ß\_2, ß\_3, ß\_4, ß\_5, ß\_6, ß\_7}]\)

To get a glimpse of the above Non-linear Fit do:

In[4]: << Graphics`Graphics`

In[5]: plt1 = LogLogListPlot[points, ImageSize -> 800, GridLines ->
                   True, PlotStyle -> {RGBColor[0, 0, 1]}, Frame ->
True];

In[6]: plt2 = LogLogListPlot[Table[{points[[n]][[1]],
Re[BF[points[[n]][[1]]]]}, {n, \
                   1, 9}], ImageSize -> 800, GridLines -> True,
PlotJoined -> True, PlotStyle -> \
                   {RGBColor[1, 0, 0]}, Frame -> True];

In[7]: Show[plt1, plt2]

Now; I'm attempting to find a shorter expression for the above
convolution of Log[x],
that would works in conjunction with  NonlinearFit.  So, I tried:

In[8]:   \!\(term = First[
    ListConvolve[{ß\_7, ß\_6, ß\_5, ß\_4, ß\_3, ß\_2, ß\_1},
Drop[NestList[Log, n, 7], 1]]]\)

In[9]:   \!\(BF2[n_] = NonlinearFit[points, a\_1 + a\_2*n + term*n,
{n}, {a\_1,
       a\_2, ß\_1, ß\_2, ß\_3, ß\_4, ß\_5, ß\_6, ß\_7}]\)

and I found that this shorter way also works.

My question is; is there a more elegant way to do the above
NonLinearFit that doesn't
involve having to use ListConvolve and NestList?

\!\(\(\( (*\(\(*\)\(\ \)\(Define\)\(\ \)\(Log\_\(\([\)\(1\)\(]\)\)[
        n]\)\)\  = \ 
        Log[n], \ Log\_\(\([\)\(2\)\(]\)\)[n] = Log[Log[n]], \ 
          Log\_\(\([\)\(3\)\(]\)\)[n] = Log[Log[Log[
    n]]], \  ... \ , Log\_\(\([\)\(i\)\(]\)\)[n] =
Log[Log[Log[\(\(...\) \
\(Log[n]\)\) ... ]]], \ 
    i . e . \ this\ last\ term\ is\ obtained\ by\ convolving\ Log[n],
\
        i\ \(\(times\)\(.\)\)\ \ \ \ \ \ \ \ \ \ \ \ \ \ **) \)\(\ \
\)\)\)

I'm looking for a short expression like:

\!\(\(\(\ \ \ \ \ \ \ \ \)\(BF[n_] = NonlinearFit[points, a\_1 + a\_2*
    n\  + \((\(\(?\(\(ß\_i\)\(*\)\)\)\+\(\(\ \)\(i\  = \ 1\)\)\%9\) \
Log\_\(\([\)\(i\)\(]\)\)[
                n])\)*n, {n}, {a\_1, a\_2, ß\_1, ß\_2, ß\_3, ß\_4,
ß\_5, ß\_6,
                   ß\_7}]\)\)\)

Unfortunately; this last form does not work.

If the above command lines are not translating faithfully when you
copy paste
them into Mathematica, please download the following notebook:

http://www.gilmarlily.netfirms.com/download/question.nb

Thank you for your help!


  • Prev by Date: RE: Sort by buried element in list
  • Next by Date: Re: Condition generation for complex integrals
  • Previous by thread: RE : basic question about plotting 2 functions in one graph
  • Next by thread: Use the standard form of time 00:00:00 as the tick markes on x-axis