MathGroup Archive 1999

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

Search the Archive

Re: Function definition

  • To: mathgroup at smc.vnet.net
  • Subject: [mg15786] Re: Function definition
  • From: "Allan Hayes" <hay at haystack.demon.co.uk>
  • Date: Sun, 7 Feb 1999 02:04:03 -0500 (EST)
  • References: <79ea4l$9hm@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Rangachari Kidambi wrote in message <79ea4l$9hm at smc.vnet.net>...
>
>Hi,
>
>I need to define a function f(theta,phi) as
>
>f(theta,phi) = f1 if 0 <= theta <= theta0, 0 <= phi <= phi0 f(theta,phi)
>= f2 otherwise
>
>where theta, phi are spherical polar coordinates, <= is less than or
>equal to and theta0 and phi0 are constants.
>
>I have tried using Do loops and If statements but haven't been
>successful.
>
>Thanks for any help
>Ranga Kidambi
>
>

Ranga:

Here are three ways. I have put 2 for theta0 and 3 for phi0 so that I
can test the definitions.

In[1]:=
Clear[f]

(Way 1)

In[2]:=
f[theta_?(0<=#<=2 &),
 phi_?(0<=#<=3&)]:= f1[theta, phi];
f[theta_,phi_]:=  f2[theta, phi];

In[3]:=
{f[1,2],f[3,2]}
Out[3]=
{f1[1,2],f2[3,2]}


In[4]:=
Clear[f]

(Way 2)

In[5]:=
f[theta_/;(0<=theta<=2 ),
 phi_/;(0<=phi<=3)]:=  f1[theta, phi]; f[theta_,phi_]:=  f2[theta, phi];

In[6]:=
{f[1,2],f[3,2]}

Out[6]=
{f1[1,2],f2[3,2]}

In[7]:=
Clear[f];

(Way 3)

In[8]:=
f[theta_,phi_]:=
 Which[
 (0<=theta<=2 )&&(0<=phi<=3), f1[theta, phi],
  True,f2[theta, phi]
  ]

In[9]:=
{f[1,2],f[3,2]}

Out[9]=
{f1[1,2],f2[3,2]}

Allan

---------------------
Allan Hayes
Mathematica Training and Consulting
www.haystack.demon.co.uk
hay at haystack.demon.co.uk
Voice: +44 (0)116 271 4198
Fax: +44 (0)870 164 0565




  • Prev by Date: Re: multiple linear regression
  • Next by Date: Re: Re: 4th order DE, NDSolve no solution, why?
  • Previous by thread: Re: Function definition
  • Next by thread: Re: Function definition