Re: Creating a Piecewise function with imported list of
- To: mathgroup at smc.vnet.net
- Subject: [mg128958] Re: Creating a Piecewise function with imported list of
- From: Bob Hanlon <hanlonr357 at gmail.com>
- Date: Wed, 5 Dec 2012 03:16:38 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-newout@smc.vnet.net
- Delivered-to: mathgroup-newsend@smc.vnet.net
- References: <20121204091330.9E84468AF@smc.vnet.net>
data = {{0, 1}, {300, 2}, {600, 3}}; f[x_] = Piecewise[Thread[{ data[[All, 2]], (#[[1]] <= x < #[[2]]) & /@ Partition[ Append[data[[All, 1]], Infinity], 2, 1] /. lb_ <= x < Infinity :> x >= lb}]]; f /@ {-1, 0, 100, 300, 400, 600, 700} {0, 1, 1, 2, 2, 3, 3} Bob Hanlon On Tue, Dec 4, 2012 at 4:13 AM, Nick Broderick <crazychessman at msn.com> wrot e: > Apologies if this seems like a simple question, but I'm not familiar enough with Mathematica syntax to know how to do this. Essentially I have an arbitrary list (length n) of pairs -- taken from an input file -- from which I need to define a Piecewise function. The pairs (x_i,y_i) define the left- sided endpoints for each portion of the function, and the last point define s the value y_n of the function for x > x_n. For example: > > {{0,1},{300,2},{600,3}} > > defines a Piecewise function: > > f(x)= {{1, 0 <= x <300},{2, 300 <= x <600}, {3, x > 600}, {0, True} } > > But I'm not sure how to go about creating a arbitrary list of conditions from my list of pairs. Any help would be appreciated. >
- References:
- Creating a Piecewise function with imported list of arbitrary length
- From: Nick Broderick <crazychessman@msn.com>
- Creating a Piecewise function with imported list of arbitrary length