MathGroup Archive 1995

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

Search the Archive

Re: Piecewise function generator

  • To: mathgroup at christensen.cybernetics.net
  • Subject: [mg1159] Re: Piecewise function generator
  • From: pasquale Nardone <pnardon at ulb.ac.be>
  • Date: Sat, 20 May 1995 01:43:22 -0400
  • Organization: Universite' Libre de Bruxelles

I forgot to show you a way without recursivity

jjj[{{x1_,y1_},{x2_,y2_}},var_]:={
LessEqual[x1,var,x2],
((y2-y1)*var+y1*x2-y2*x1)/(x2-x1)};

this is the same as before

g[x_]:=Apply[Which,
Flatten[Map[jjj[#,x]&,
Thread[List[Drop[pts,-1],Drop[RotateLeft[pts],-1]]]]]]

this define the function by mapping jjj on the pair of points:
{{p1,p2},{p2,p3},{p3,p4},...}
which is build using Thread, List Drop and RotateLeft

In[] 		g[XX]
Out[]   Which[20 <= XX <= 50, (-12. + 0.72*XX)/30, 50 <= XX <= 250, 
(160. + 0.*XX)/200, 250 <= XX <= 5000, (3999. - 0.796*XX)/4750]

In[]  g[80]
Out[] 0.8

of course you can Plot g[x] and also add a condition for x<x1

I hope this will help

P. Nardone




  • Prev by Date: Re: MathLink and CodeWarrior
  • Next by Date: Re: MathLink and CodeWarrior
  • Previous by thread: Re: Piecewise function generator
  • Next by thread: Re: Piecewise function generator