Hallo Robert,
es gibt eine weitere Möglichkeit Dein Problem zu beheben.
'ro' und 'rm' sollten explizit als Variable der rho-Funktion angegeben werden:
rho[r0_, rm_, r_] := rho0/(rm - r0)*(rm - r)
Gruß, Markus
On May 18, 2011, at 7:00 PM, Robert Schien wrote:
> Hallo,
>
> ich habe hier ein Problem mit Mathematica, wo ich nicht
> weiterkomme.
>
>
> In[1]:= rho[r_]:=rho0/(rm - r0)*(rm - r)
>
> Hier wird einfach nur eine Funktion rho definiert, die
> einen Parameter hat.
>
> 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?
>
> Noch deutlicher wird es, wenn ich den Parameter rho0 mal festlege:
>
> In[5]:= rho0=1.0
>
> Out[5]= 1.
>
> In[6]:= m1[2.1,2.2]
>
> -0.994375 0.462333 rm
> Out[6]= ----------- + -----------
> -1. r0 + rm -1. r0 + rm
>
> Warum werden für r0 und rm die Werte nur teilweise eingesetzt?
> Habe ich da was übersehen?
>
> Danke im voraus.
>
> Robert
>
>
>