DMUG-Archiv 2004

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

Re: Integrieren einer piecewise defnierten Funktion

Guten Abend Oliver,

das Manual sagt: "When the argument of UnitStep is a polynomial with simple real roots, FunctionExpand expands the polynomial into monomials. " Daher geht im vorliegenden Fall als dritte Variante:

In[7]:= Clear[f];
f[x_] := FunctionExpand[(-4*5*x + 5)*UnitStep[-(x*(x - 1/2))] +
   (4*5*x - 3*5)*UnitStep[-((x - 1)*(x - 1/2))]]

In[10]:= (2*Integrate[f[t]*Cos[(k*2*o*t)/T], {t, 0, 1},
   Assumptions -> {Mod[k, 2] == 0, Im[(k*o)/T] == 0}])/T

Out[10]= (5*T*(-4*Cos[(k*o)/T] + 4*Cos[Sqrt[(k^2*o^2)/T^2]]^2 +
   Sqrt[(k^2*o^2)/T^2]*Sin[2*Sqrt[(k^2*o^2)/T^2]]))/(k^2*o^2)

und fertig ist die Laube.

Mit den besten Grüssen
Udo.

Jens-Peer Kuska wrote:

wie w"ar's wenn Du die nichtlinearen Argumente der beiden UnitStep[]
Funktionen in lineare umwandelst also z. B.
<snip>

Man kann nat"urlich auch das Integral per Hand aufspalten und
<snip>

Was dann schon die zweite Variante  w"are.

Gruss
 Jens

Oliver Rusterholz wrote:
Ich möchte die einzelnen Fourierkomponenten einer stückweise definierten
Funktion ausrechnen. Die Funktion ist ein Dreiecksignal und
folgendermassen definiert:
f[x_]:=(-4*5*x+5)*UnitStep[-x(x-1/2)]+(4*5*x-3*5)*UnitStep[-(x-1)(x-1/2)]

Will ich nun die Komponente ak für gerade k ausrechnen, mache ich dass
folgendermassen:
2/T*Integrate[f[t]*Cos[k*2*?/T*t], {t, 0, 1}, Assumptions -> Mod[k, 2] == 0]
<snip>

Gibt es nun irgendeinen Weg, wie ich das symbolisch ausrechnen kann?
Oder wenigstens numerisch? Bei einfachen Funktionen, wie z.B. einem
Rechtecksignal funktioniert dieses Vorgehen.

Vielen Dank
Oliver




Antworten:
Verweise:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html