MathGroup Archive 2000

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

Search the Archive

Conditionals with multiple tests?

  • To: mathgroup at
  • Subject: [mg24104] Conditionals with multiple tests?
  • From: "A. E. Siegman" <siegman at>
  • Date: Tue, 27 Jun 2000 00:51:57 -0400 (EDT)
  • Organization: Stanford University
  • Sender: owner-wri-mathgroup at

Let's say I want to assign values to three variables p1, p2, p3 that 
will depend on five different (and nonoverlapping) tests test1 to test 5.

One way to do this is obviously

      p1 = Which[test1, value11, test2, value12, . . . ]         
      p2 = Which[test1, value21, test2, value22, . . . ]   
      p3 = Which[test1, value31, test2, value32, . . . ]

But a more compact and (for me anyway) neater approach is

   Which[test1, p1=value11; p2=value21; p3=value31,
              test2, p1=value21; p2=value22; p3=value32,
              test3, . . . 
              test4, . . . 
              test5, . . . ]

Is this form legal?  That is, can one use:

      Which[test1, expr1, test2, expr2, . . .]

where expr1, expr2, . . . may be compound expressions?

(I would say that The Mathematica Book is not at all clear on this 
point, as regards either Which[] or If[].)

If not, is there a legal way to implement the basic objective?

  • Prev by Date: Re: Resources for high school student?
  • Next by Date: Piecewise functions definition and usage
  • Previous by thread: Re: Plots with Variable Limits?
  • Next by thread: Re: Conditionals with multiple tests?