Re: Conditionals with multiple tests?
- To: mathgroup at smc.vnet.net
- Subject: [mg24136] Re: [mg24104] Conditionals with multiple tests?
- From: Matt.Johnson at autolivasp.com
- Date: Wed, 28 Jun 2000 02:11:52 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
This automatically assigns the values to your variables depending on the relationship between a, b, and c: f[a_, b_, c_] := {p1, p2, p3} = Which[ a < b < c, {value11,value12, value13}, a > b > c, {value21, vlaue22, value23}, True, {value31, value32, value33}] -matt "A. E. Siegman" <siegman at stanford.edu> on 06/26/2000 10:51:57 PM Subject: [mg24136] [mg24104] Conditionals with multiple tests? 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?