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