> In[2]:= Integrate[rho[r]*r^2,{r,r0,rm}]
>
> Diese Funktion wird bestimmt integriert in den Grenzen
> von r0 bis rm.
>
> 4 3 4
> r0 rho0 r0 rho0 rm rho0 rm
> Out[2]= ------------ - ------------ + -------------
> 4 (-r0 + rm) 3 (-r0 + rm) 12 (-r0 + rm)
>
> So weit so gut.
> Ich möchte nun den Ausdruck [2] als Funktion in r0 und rm
> auffassen:
>
> In[3]:= m1[r0_,rm_]:=Integrate[rho[r]*r^2,{r,r0,rm}]
>
> Das unerwartete Ergebnis kommt jetzt:
>
> In[4]:= m1[2.1,2.2]
>
> -0.994375 rho0 0.462333 rho0 rm
> Out[4]= -------------- + ----------------
> -r0 + rm -r0 + rm
>
> Warum werden im Nenner für r0 und rm nicht die Werte (2.1 bzw. 2.2)
> eingesetzt?
m1 wird 'delayed' ersetzt, und da r0 und rm nicht explizit
Argumente von rho[r] sind, werden diese nicht ersetzt.
Mit m1[r0_, rm_] = Integrate[..] (statt :=) sollte es funktionieren.
Grüße,
Thomas