       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,Hue[0.1]},
FrameLabel -> {"","","This is f[x]*g[x]",""}]

pfg = Plot[fg[x],{x,-20,20},PlotRange -> All,
Frame -> True,
PlotStyle -> {AbsoluteThickness,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 ==----------