       Re: Strange behavior: random and plot

• To: mathgroup at smc.vnet.net
• Subject: [mg102652] Re: [mg102726] Strange behavior: random and plot
• From: Bob Hanlon <hanlonr at cox.net>
• Date: Sun, 23 Aug 2009 05:32:48 -0400 (EDT)

```Since the definition of ran is only valid for a numerical argument, define it as such

Clear[ran];

ran[x_?NumericQ] := Random[Real, x];

Plot[ran[x] - ran[x], {x, 0, 3},
PlotStyle -> Directive[Thick, Red]]

Usually, what appears to be a problem with Plot is an effect due to its having attribute HoldAll

Attributes[Plot]

{HoldAll,Protected}

This is normally resolved by using Evaluate; however, it doesn't help here

Plot[Evaluate[ran[x] - ran[x]], {x, 0, 3},
PlotStyle -> Directive[Thick, Red]]

You need to use Random (or in v6 or later RandomReal) directly

Plot[Random[Real, x] - Random[Real, x],
{x, 0, 3}]

Plot[RandomReal[x] - RandomReal[x],
{x, 0, 3}]

Bob Hanlon

---- Don Krug <krugd at nku.edu> wrote:

=============
Hi group.  I am new here and discovered some strange behavior (to me.)
Hope someone can help.

I will be teaching a course on programming with Mathematica this
semester and so you may hear from me some more.

I define

ran[x_]:=Random[Real,x]

If I evaluate ran-ran I get a non-zero result as expected.

But if I do

Plot[ ran[x]-ran[x] ,{x,0,3}]

I get an empty axes system.  I assume it is the plot of the zero function.

I also know that if I set

ran2[x_]:=Random[Real,x]

then I get a non-zero plot as expected when I do

Plot[ ran2[x]-ran[x] ,{x,0,3}]

I am guessing the plot command is evaluating things in a strange way
that forces the two instances of ran to be the same.

Can anyone explain why?

Thanks

Don Krug
Northern Kentucky U

```

• Prev by Date: Re: A Question about Combinatorica
• Next by Date: Re: Re: Viewing packages in mathematica
• Previous by thread: Strange behavior: random and plot
• Next by thread: Re: Strange behavior: random and plot