Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2007
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2007

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

Search the Archive

Re: Problem with Which

  • To: mathgroup at smc.vnet.net
  • Subject: [mg74077] Re: Problem with Which
  • From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
  • Date: Thu, 8 Mar 2007 04:44:35 -0500 (EST)
  • Organization: The Open University, Milton Keynes, UK
  • References: <eslsiq$q3v$1@smc.vnet.net>

Miguel wrote:
> Let a function of six variable
> AH[Ts_,Th_,Tr_,f_,w_,i_]:=(
>     Which[NumericQ[Ts]&&NumericQ[Th],tipo=1,
>       NumericQ[Ts]&&NumericQ[Tr],tipo=2,
>       NumericQ[Ts]&&NumericQ[f],tipo=3,
>       NumericQ[Ts]&&NumericQ[w],tipo=4,
>       NumericQ[Ts]&&NumericQ[i],tipo=5,
>       NumericQ[Th]&&NumericQ[Tr],tipo=6,
>       NumericQ[Th]&&NumericQ[f],tipo=7,
>       NumericQ[Th]&&NumericQ[w],tipo=8,
>       NumericQ[Th]&&NumericQ[i],tipo=9,
>       NumericQ[Tr]&&NumericQ[f],tipo=10,
>       NumericQ[Tr]&&NumericQ[w],tipo=11,
>       NumericQ[Tr]&&NumericQ[i],tipo=12,
>       NumericQ[f]&&NumericQ[w],tipo=13,
>       NumericQ[f]&&NumericQ[i],tipo=14,
>       NumericQ[w]&&NumericQ[i],tipo=15];
> tipo)
> 
> In[77]:=AH[1,Th,Tr,f,4,i]
> Out[77]=
> 4
> Correct
> 
> In[78]:=AH[1,Th,Tr,f,w,5]
> Out[78]=
> 4
> Wrong
> 
> In[79]:=AH[Ts,Th,Tr,4,4,i]
> Out[79]=
> 13
> Correct
> 
> In[80]:=AH[Ts,Th,Tr,4,w,5]
> Out[80]=
> 13
> Wrong
> 
> I d'ont understand. Where is my error?

As far as I can tell, the code is correct. However, you must still have 
in memory some conflicting and erroneous definitions. Starting with a 
fresh Mathematica session, here is what I get:

In[1]:=
AH[Ts_, Th_, Tr_, f_, w_, i_] :=
   (Which[NumericQ[Ts] && NumericQ[Th], tipo = 1,
     NumericQ[Ts] && NumericQ[Tr], tipo = 2,
     NumericQ[Ts] && NumericQ[f], tipo = 3,
     NumericQ[Ts] && NumericQ[w], tipo = 4,
     NumericQ[Ts] && NumericQ[i], tipo = 5,
     NumericQ[Th] && NumericQ[Tr], tipo = 6,
     NumericQ[Th] && NumericQ[f], tipo = 7,
     NumericQ[Th] && NumericQ[w], tipo = 8,
     NumericQ[Th] && NumericQ[i], tipo = 9,
     NumericQ[Tr] && NumericQ[f], tipo = 10,
     NumericQ[Tr] && NumericQ[w], tipo = 11,
     NumericQ[Tr] && NumericQ[i], tipo = 12,
     NumericQ[f] && NumericQ[w], tipo = 13,
     NumericQ[f] && NumericQ[i], tipo = 14,
     NumericQ[w] && NumericQ[i], tipo = 15]; tipo)

In[2]:=
AH[1, Th, Tr, f, 4, i]

Out[2]=
4

In[3]:=
AH[1, Th, Tr, f, w, 5]

Out[3]=
5

In[4]:=
AH[Ts, Th, Tr, 4, 4, i]

Out[4]=
13

In[5]:=
AH[Ts, Th, Tr, 4, w, 5]

Out[5]=
14

Regards,
Jean-Marc



  • Prev by Date: Re: Integrate
  • Next by Date: Re: Efficient repeated use of FindRoot
  • Previous by thread: Re: Problem with Which
  • Next by thread: Re: Problem with Which