MathGroup Archive 2009

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

Search the Archive

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)
  • Reply-to: hanlonr at cox.net

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[3]-ran[3] 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