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. > >