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