MathGroup Archive 2006

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

Search the Archive

RE: Plotting a function -

I don't see why you are using Boole. Also you can't have Sum[f,...] or
Plot[g,...]. You would need f[x] and g[x]. It always helps to evaluate and
test your definitions before you throw them all together in a plot.

Here are some routine that will work better. digits3 gives the number of 3's
in the number. The values are 'remembered' so we won't have to keep
computing them.  fractable gives the fraction of 3's for each number.
List plots should be much faster than regular plots here.


digits3[n_] := digits3[n] = DigitCount[n, 10, 3]

    x_] := (Drop[FoldList[Plus, 0, Table[digits3[n], {n, 1, x}]], 1] // N)/

    Frame -> True,
    FrameLabel -> {x, f},
    PlotRange -> All,
    ImageSize -> 450];

LogLinearListPlot[{Range[32000], fractable[32000]} // Transpose,
    Frame -> True,
    FrameLabel -> {x, f},
    PlotRange -> All,
    ImageSize -> 450];

Other may give you more efficient code.

David Park
djmp at

From: Craig Reed [mailto:tharkun860 at]

Hi -

I'm trying to get Mathematica 5.2 to graph a function which is the ratio of
integers which have a '3' in them. Done in Exce3l, the graph of the first
32,000 data points has a fractal look to it, especially when done with a
log scale.

What I've tried is the following

f[x_] := Boole[DigitCount[x, 10, 3]]
g[x_] := Sum[f, {i, x}]/x
Plot[g, {x, 1, 100}]

I get 3 errors of "g is not a michine-size real number at" followed by 3
real numbers:

What am I doing wrong?  or perhaps what I should ask is, "Is there a better

  • Prev by Date: Re: Function Name from Inside the function
  • Next by Date: Re: Plotting a function -
  • Previous by thread: Re: Plotting a function -
  • Next by thread: Re: Plotting a function -