Re: Defining function in loop
- To: mathgroup at smc.vnet.net
- Subject: [mg40420] Re: [mg40412] Defining function in loop
- From: SONKOLY Pal <phaul at inf.elte.hu>
- Date: Sat, 5 Apr 2003 03:57:09 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
One solution:
g[x_] := 0 /; x <=0
g[x_] := 3 /; x >=3
g[x_]:=First[Select[Range[3],(#-1<x<=#)&] ]
g[#]& /@ Table[i,{i, -1,3,0.5}]
{0,0,0,1,1,2,2,3,3}
Phaul
On Fri, 4 Apr 2003, Vadim Nagornyi wrote:
> Hello,
> I am definihg step-like function
>
> Clear[h]
> h[x_] := 0/;x<0
> h[x_] := 1/;0<=x<=1
> h[x_] := 2/;1<=x<=2
> h[x_] := 3/;2<=x<=3
> h[x_] := 4/;x>3
>
> It works fine:
>
> Table[h[x],{x,-1,4,.5}]
> {0, 0, 1, 1, 1, 2, 2, 3, 3, 4, 4}
>
> As I may need more steps, I am trying to do the same in loop:
>
> Clear[g]
> g[x_] := 0/;x<0
> Do[g[x_] := i/;i-1<=x<=i, {i,3}]
> g[x_] := 4/;x>3
>
> This time no luck:
>
> Table[g[x],{x,-1,4,.5}]
> {0, 0, 1, 1, 1, 2, 2, 3, 3, 4, 4}
> {0, 0, g[0.], g[0.5], g[1.], g[1.5], g[2.], g[2.5], g[3.], 4, 4}
>
> How to do this?
>
> Thanks.
> Vadim.
>
>