MathGroup Archive 2008

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

Search the Archive

Re: Relational Operators and Random Integers

  • To: mathgroup at smc.vnet.net
  • Subject: [mg90337] Re: [mg90305] Relational Operators and Random Integers
  • From: Bob Hanlon <hanlonr at cox.net>
  • Date: Sun, 6 Jul 2008 07:19:49 -0400 (EDT)
  • Reply-to: hanlonr at cox.net

Since your definition of x used SetDelayed (:=) rather than Set (=), every time x is encountered a new RandomChoice is made.

To see this, wrap the Which statement in Trace.


Bob Hanlon

---- Peter Evans <peter.w.evans at gmail.com> wrote: 

=============
Hi all,

I'm a new user of Mathematica 6 and am struggling with some basics. I wish to write a set of rules which are dependent upon a random variable. I've been using RandomChoice to choose my variable and then large If and Which statements to produce my desired dynamics.

The problem is that the number that these statements end up spitting out aren't recognised as what they are in further If and Which statements. Here's a simple example that demonstrates my problem:

In[1]:= x := RandomChoice[{1, 2, 3}]
x
Which[x == 1, 1, x == 2, 2, x == 3, 3]

Out[2]= 1

Out[3]= 2

Mathematica clearly thinks x to be 1 but the If statement indicates its 2. What am I doing wrong here?

Much thanks,

Pete




  • Prev by Date: Re: Relational Operators and Random Integers
  • Next by Date: Re: Relational Operators and Random Integers
  • Previous by thread: Re: Relational Operators and Random Integers
  • Next by thread: Re: Relational Operators and Random Integers