Lösung / Plot braucht ewig < Mathematica < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 17:46 So 19.04.2009 | Autor: | Oliver |
Hallo zusammen (insbesondere an alle, die mich noch kennen :)) )!
Ich versuche mich gerade in Mathematica einzuarbeiten und dort eine Formel numerisch auszuwerten und anschließend grafisch darzustellen.
Die Formel ist zwar nicht trivial, allerdings hätte ich nicht erwartet damit schon an die Grenzen von Mathematica zu stoßen - ich vermute daher eher, dass Mathematica mit der Art meiner Eingaben nicht klar kommt:
n = 20
mu = 1
K[q_, k_, h_] := mu*(Sinh[k*q + h] - 2*q*Cosh[k*q + h])
Q[q_, k_, h_] := (mu/n)*(Cosh[k*q + h] - 2*q*Sinh[k*q + h])
Theta[q_, k_, h_] :=
Exp[2*Integrate[ K[y, k, h]/Q[y, k, h], {y, -0.5, q}]]
N0[k_, h_] :=
1/ Integrate[1/Q[q, k, h]*Theta[q, k, h], {q, -0.5, 0.5}]
f[q_, k_, h_] := N0[k, h] /Q[q, k, h] * Theta[q, k, h]
Soweit so gut, jetzt will ich die Funktion grafisch darstellen, zuerst für den trivialsten Fall (k=0, h=0):
Plot[f[q, 0, 0], {q, -0.5, 0.5}]
Klappt auch ganz gut, nach ca. 5 sek ist die Lösung dar und sieht auch richtig aus.
Jetzt aber mit einem nicht-trivialen Parameter, z.B.
Plot[f[q, 1.5, 0], {q, -0.5, 0.5}]
Mathematica rechnet und rechnet und kommt auf keinen grünen Zweig.
Hat jemand eine Idee, woran das liegt? Wie lässt sich das herausfinden? Muss man das anders eingeben, damit Mathematica besser damit zurecht kommt?
Viele Grüße und besten Dank im voraus
Oliver
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 06:14 Di 21.04.2009 | Autor: | felixf |
Hallo!
> Hallo zusammen (insbesondere an alle, die mich noch kennen
> :)) )!
>
> Ich versuche mich gerade in Mathematica einzuarbeiten und
> dort eine Formel numerisch auszuwerten und anschließend
> grafisch darzustellen.
>
> Die Formel ist zwar nicht trivial, allerdings hätte ich
> nicht erwartet damit schon an die Grenzen von Mathematica
> zu stoßen - ich vermute daher eher, dass Mathematica mit
> der Art meiner Eingaben nicht klar kommt:
>
> n = 20
>
> mu = 1
>
> K[q_, k_, h_] := mu*(Sinh[k*q + h] - 2*q*Cosh[k*q + h])
>
> Q[q_, k_, h_] := (mu/n)*(Cosh[k*q + h] - 2*q*Sinh[k*q +
> h])
>
> Theta[q_, k_, h_] :=
> Exp[2*Integrate[ K[y, k, h]/Q[y, k, h], {y, -0.5, q}]]
>
> N0[k_, h_] :=
> 1/ Integrate[1/Q[q, k, h]*Theta[q, k, h], {q, -0.5, 0.5}]
>
> f[q_, k_, h_] := N0[k, h] /Q[q, k, h] * Theta[q, k, h]
>
> Soweit so gut, jetzt will ich die Funktion grafisch
> darstellen, zuerst für den trivialsten Fall (k=0, h=0):
>
> Plot[f[q, 0, 0], {q, -0.5, 0.5}]
>
> Klappt auch ganz gut, nach ca. 5 sek ist die Lösung dar und
> sieht auch richtig aus.
>
> Jetzt aber mit einem nicht-trivialen Parameter, z.B.
>
> Plot[f[q, 1.5, 0], {q, -0.5, 0.5}]
>
> Mathematica rechnet und rechnet und kommt auf keinen grünen
> Zweig.
>
> Hat jemand eine Idee, woran das liegt? Wie lässt sich das
> herausfinden? Muss man das anders eingeben, damit
> Mathematica besser damit zurecht kommt?
Ich vermute mal, dass Mathematica fuer jeden Punkt zuerst versucht, die auftretenden Integrale symbolisch zu loesen. Aender doch die Integrate durch NIntegrate (numerische Integration) ab und guck ob es dann besser laeuft.
LG Felix
|
|
|
|
|
Moin,
solange man nichtmal zum Beispiel f[-0.2,1.5,0] ausrechnen kann wird dir ein Plot wohl nicht gelingen. Du solltest deine Integrale wirklich mal numerisch auswerten.
Cheers
Patrick
|
|
|
|