Piecewise once more
- To: mathgroup at smc.vnet.net
- Subject: [mg109219] Piecewise once more
- From: Peter Breitfeld <phbrf at t-online.de>
- Date: Sat, 17 Apr 2010 06:05:41 -0400 (EDT)
When trying to find an answer to mercia's post I came into this
stepFunction::usage =
"stepFunktion[x,{x1,x2,...,xn},valfunc] generates a \
stepfunction using Piecewise from List xi, where x1<x_2<...xn
valfunc is a function of two parameters to calculate the value \
inside Interval [\!\(\*SubscriptBox[\"x\", \
\"i\"]\),\!\(\*SubscriptBox[\"x\",
RowBox[{\"i\", \"+\", \"1\"}]]\)]." ;
stepFunction[x_, mesh_List, valfunc_] :=
Module[{args, bed, werte, part},
part = Partition[mesh, 2, 1];
werte = valfunc @@@ part;
bed = (#1 <= x < #2) & @@@ part;
args = Transpose[{werte, Flatten[bed]}];
Evaluate[Piecewise[Evaluate@args]]]
treppe[y_]=stepFunction[y, mesh,(#1+#2)/2&]
I get the warning:
Piecewise::pairs: The first argument of args$706 of Piecewise is not a
list of pairs.
But the output is ok and test like
treppe /@Range[1,20]
show the right result. A Plot works fine
What's wrong in my code to produce the message?
$Version= 7.0 for Mac OS X x86 (64-bit) (February 19, 2009)
--
_________________________________________________________________
Peter Breitfeld, Bad Saulgau, Germany -- http://www.pBreitfeld.de