Multiplying piecewise functions
- To: mathgroup at smc.vnet.net
- Subject: [mg14547] Multiplying piecewise functions
- From: sergio at scisun.sci.ccny.cuny.edu
- Date: Thu, 29 Oct 1998 04:33:39 -0500
- Organization: Deja News - The Leader in Internet Discussion
- Sender: owner-wri-mathgroup at wolfram.com
(*
Hello fellows:
Using Mathematica of course, would it be possible
to get, after multiplying two or more piecewise
functions defined using Which, a single (one Which)
expression which can be integrated later.? For instance,
let's say one has:
*)
Clear[f]
f[x_] := Which[ -1 <= x < 5,
100*x^2 + 1,
5<=x,
x^3,
True,
10*x - 200 ]; Clear[g]
g[x_] := Which[ -10 <= x < 10,
x^4 + 100,
10 <= x,
x^3,
True,
-100*x ];
(* The product of this functions is given by: *) Clear[FG];
FG[x_] := Evaluate[f[x]*g[x]] ;
(* QUESTION: How can I instruct Mathematica to write
it in something similar to: *) Clear[fg]
fg[x_] := Which[ x < -10,
(10*x - 200)*(-100*x),
-10 <= x < -1,
(10*x - 200)*(x^4 + 100),
-1 <= x < 5,
(100*x^2 + 1)*(x^4 + 100),
5 <= x < 10,
x^3*(x^4 + 100),
10 <= x ,
x^3*x^3 ];
(* The equivalence of FG[x] and fg[x] can be
asserted from: *)
Clear[p1,p2];
pFG = Plot[FG[x],{x,-20,20},PlotRange -> All,
Frame -> True,
PlotStyle -> {AbsoluteThickness[3],Hue[0.1]},
FrameLabel -> {"","","This is f[x]*g[x]",""}]
pfg = Plot[fg[x],{x,-20,20},PlotRange -> All,
Frame -> True,
PlotStyle -> {AbsoluteThickness[5],Hue[0.4]},
FrameLabel -> {"","","This is fg[x]",""}]
Show[pfg,pFG,Frame -> True,
FrameLabel -> {"","","This is fg[x] and FG[x]",""}]
val = Table[Random[Real,{-100,100}],{30}]; Print["using x =
Random[Real,{-100,100}] -> fg[x]-FG[x]] = ",
Map[fg,val]-Map[FG,val]] (*
Sergio
Email: sergio at scisun.sci.ccny.cuny.edu *)
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own