Re: Problem with Which
- To: mathgroup at smc.vnet.net
- Subject: [mg74158] Re: [mg74040] Problem with Which
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Tue, 13 Mar 2007 03:35:40 -0500 (EST)
- Reply-to: hanlonr at cox.net
I cannot duplicate the problem on my system; however, I recommend that you use Module to isolate tipo to be a local variable. A module would also enable you to use a shorthand notation for NumericQ AH[Ts_,Th_,Tr_,f_,w_,i_]:= Module[{tipo,n=NumericQ}, Which[ n[Ts]&&n[Th],tipo=1, n[Ts]&&n[Tr],tipo=2, n[Ts]&&n[f],tipo=3, n[Ts]&&n[w],tipo=4, n[Ts]&&n[i],tipo=5, n[Th]&&n[Tr],tipo=6, n[Th]&&n[f],tipo=7, n[Th]&&n[w],tipo=8, n[Th]&&n[i],tipo=9, n[Tr]&&n[f],tipo=10, n[Tr]&&n[w],tipo=11, n[Tr]&&n[i],tipo=12, n[f]&&n[w],tipo=13, n[f]&&n[i],tipo=14, n[w]&&n[i],tipo=15]; tipo]; AH[1,Th,Tr,f,4,i] 4 AH[1,Th,Tr,f,w,5] 5 AH[Ts,Th,Tr,4,4,i] 13 AH[Ts,Th,Tr,4,w,5] 14 Bob Hanlon ---- Miguel <mibelair at hotmail.com> 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?