> Bsp:
>
> t1 = a + b; t2 = a + b + c
> f[x_] := Which[0 <= x <= t1, x, t1 <= x <= t2, 2x, True, 0]
>
> Mein Problem: Verwende ich nun obige Funktion, so wird t1 und t2 nicht
> ausgewertet.
>
> In[129]:= f[x]
>
> Out[129]= Which[0 <= x <= t1, x, t1 <= x <= t2, 2x, True, 0]
>
> Auch ein Evaluate[] ändert daran nichts. Was mache ich falsch?
Zum Einsetzen von Werten von Variablen innerhalb von Teilen, die nicht
evaluiert werden, eignet sich With:
With[{ t1 = a + b, t2 = a + b + c},
f[x_] := Which[0 <= x <= t1, x, t1 <= x <= t2, 2x, True, 0]
]
In[2]:= f[x]
Out[2]= Which[0 <= x <= a + b, x, a + b <= x <= a + b + c, 2 x, True, 0]
Roman Mäder