       Re: a question about the UnitStep function

• To: mathgroup at smc.vnet.net
• Subject: [mg58504] Re: a question about the UnitStep function
• From: Peter Pein <petsie at dordos.net>
• Date: Tue, 5 Jul 2005 01:57:43 -0400 (EDT)
• References: <da2msl\$944\$1@smc.vnet.net> <da5ibn\$1qt\$1@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```Peter Pein schrieb:
> Zhou Jiang schrieb:
>
>>Dear Mathgroup,
>>I want to let Mathematica compute the convolution of two sqare waves. I did as follows
>>
>>f[x_]:=(UnitStep[x+1]-UnitStep[x-1])/2;
>>
>>integrand=f[z] f[x-z];
>>
>>Assuming[Element[x, Reals], Integrate[integrand, {z, -Infinity, Infinity}]]
>>
>>Mathematica gave me the result as follows,
>>((-1 + x) UnitStep[-1 + x] - x UnitStep[x] + (2 + x) UnitStep[2 + x])/4
>>
>>I plot the result to check
>>
>>Plot[%,{x,-10,10}, PlotRange->All];
>>
>>It is clear wrong since the convolution of two square waves should be convergent. Can anyone give me some help with the subtlties about the UnitStep function? Any thoughts are appriciable.
>>
>>
>
>
> Piecewise works well:
>
> In:=
> fp[x_] := Piecewise[{{1, -1 <= x <= 1}}, 0];
> cv = Integrate[fp[z]* fp[x - z], {z, -Infinity, Infinity}]
> Out=
> Piecewise[{{2 - x, 0 < x < 2},
>            {2 + x, -2 < x <= 0}}, 0]
Sorry, my eyes have been wide shut (again).
These:

In:=
f1[x_] := Piecewise[{{1/2, -1 <= x <= 1}}, 0];
Timing[Integrate[f1[z]*f1[z - x], {z, -Infinity, Infinity}]]
Out=
{0.328 Second,
Piecewise[{{(2 - x)/4, 0 < x < 2},
{(2 + x)/4, -2 < x <= 0]}}]}
In:=
f2[x_] := Boole[-1 <= x <= 1]/2;
Timing[Integrate[f2[z]*f2[z - x], {z, -Infinity, Infinity}]]
Out=
{0.047 Second,
Piecewise[{{(2 - x)/4, 0 < x < 2},
{(2 + x)/4, -2 < x <= 0]}}]}

are of course the correct approaches.

--
Peter Pein
Berlin
http://people.freenet.de/Peter_Berlin/

```

• Prev by Date: How to simulate random samples from crooked coin toss?
• Next by Date: Re: Can't assign value to symbols