[Date Index]
[Thread Index]
[Author Index]
Re: functions
*To*: mathgroup at smc.vnet.net
*Subject*: [mg45503] Re: functions
*From*: bobhanlon at aol.com (Bob Hanlon)
*Date*: Sat, 10 Jan 2004 16:43:24 -0500 (EST)
*References*: <bto15f$2gc$1@smc.vnet.net>
*Sender*: owner-wri-mathgroup at wolfram.com
Clear[f,x];
f[x_Rational] := x^2;
f[x_Integer] := x^2;
f[x_?NumericQ] := 1/x;
f /@ {1/2, 3, 5.5, E,x}
{1/4, 9, 0.18181818181818182, 1/E, f[x]}
Alternatively,
Clear[f, x];
f[x_?(Element[#, Rationals]&)] := x^2;
f[x_?NumericQ] := 1/x;
f /@ {1/2, 3, 5.5, E,x}
{1/4, 9, 0.18181818181818182, 1/E, f[x]}
However, if you also want to handle Symbols that have been explicitly declared
as either Rational or Integer
Clear[f,x,n];
f[x_?(Element[#, Rationals]||
Element[#, Integers]&)] := x^2;
f[x_?NumericQ] := 1/x;
x /: Element[x, Rationals] = True;
n /: Element[n, Integers] = True;
f /@ {1/2, 3, 5.5, E,x, n,y}
{1/4, 9, 0.18181818181818182, 1/E, x^2, n^2, f[y]}
For the second example,
Clear[f,n];
f[n_?OddQ] := 1/n;
f[n_?EvenQ] := n^2;
n /: EvenQ[n] = True;
f /@ {-6, -3,0,3,6,5.5, n,x}
{36, -(1/3), 0, 1/3, 36, f[5.5], n^2, f[x]}
Bob Hanlon
In article <bto15f$2gc$1 at smc.vnet.net>, lorenzo.keegan at handbag.com wrote:
<< How do write expressions in Mathematica for functions and sequences
such as the following:
f(x) = {1/x, x is irrational
{x^2, x rational
and
f(n) = 1/n, n odd
n^2, n even
Prev by Date:
**Re: Graphics / cosmetics**
Next by Date:
**RE: functions**
Previous by thread:
**Re: functions**
Next by thread:
**RE: functions**
| |