Kurze Rechenfrage: Nabla-Operator ausrechnen
-
So wie jede andere Ableitung auch.
Was ist das Problem?
-
Entschuldigung, ich hätte noch erwähnen sollen, dass ich mir Gradienten erst vor ein paar Stunden angelesen habe
Ich frage mal allgemeiner: Wenn ich eine Gleichung f(x,k) habe, wobei x ein 3d-Vektor und k ein Skalar ist, und non von dieser Funktion den Gradienten ausrechnen soll, wonach leite ich f(x,k) dann ab? 4 mal, jeweils nach x1,x2,x3 und k, oder nur nach x1,x2,x3? Oder vll. etwas anderes?
-
ausrechner schrieb:
Entschuldigung, ich hätte noch erwähnen sollen, dass ich mir Gradienten erst vor ein paar Stunden angelesen habe
Ich frage mal allgemeiner: Wenn ich eine Gleichung f(x,k) habe, wobei x ein 3d-Vektor und k ein Skalar ist, und non von dieser Funktion den Gradienten ausrechnen soll, wonach leite ich f(x,k) dann ab? 4 mal, jeweils nach x1,x2,x3 und k, oder nur nach x1,x2,x3? Oder vll. etwas anderes?
Die erste Komponente des Gradienten ist die Ableitung von f nach der ersten Komponente von x, die zweite Komponente des Gradienten ist die Ableitung von f nach der zweiten Komponente von x, usw.
Darf ich mal anmerken, dass Vektoranalysis nicht unbedingt ein Thema ist, welches man sich auf die Schnelle selber anlesen kann? Die meisten Leute brauchen dafür ein paar Wochen Studium, manche scheitern sogar ganz daran. Du hast doch vor, hier irgendein konkretes Problem zu lösen. Du hast anscheinend einen Lösungsweg gefunden, welcher den dir bisher unbekannten Begriff des Gradienten benutzt. Meistens ist es besser, nach dem zu fragen, was man erreichen möchte, nicht nach dem wie man denkt, wie man es erreichen könnte.
-
SeppJ schrieb:
ausrechner schrieb:
Entschuldigung, ich hätte noch erwähnen sollen, dass ich mir Gradienten erst vor ein paar Stunden angelesen habe
Ich frage mal allgemeiner: Wenn ich eine Gleichung f(x,k) habe, wobei x ein 3d-Vektor und k ein Skalar ist, und non von dieser Funktion den Gradienten ausrechnen soll, wonach leite ich f(x,k) dann ab? 4 mal, jeweils nach x1,x2,x3 und k, oder nur nach x1,x2,x3? Oder vll. etwas anderes?
Die erste Komponente des Gradienten ist die Ableitung von f nach der ersten Komponente von x, die zweite Komponente des Gradienten ist die Ableitung von f nach der zweiten Komponente von x, usw.
Darf ich mal anmerken, dass Vektoranalysis nicht unbedingt ein Thema ist, welches man sich auf die Schnelle selber anlesen kann? Die meisten Leute brauchen dafür ein paar Wochen Studium, manche scheitern sogar ganz daran. Du hast doch vor, hier irgendein konkretes Problem zu lösen. Du hast anscheinend einen Lösungsweg gefunden, welcher den dir bisher unbekannten Begriff des Gradienten benutzt. Meistens ist es besser, nach dem zu fragen, was man erreichen möchte, nicht nach dem wie man denkt, wie man es erreichen könnte.
Da hast du wahrscheinlich recht. Aber ich wollte, wenn es möglich ist, vermeiden ein ganzes Buch ranzuziehen, wenn's nur drum geht wie man einen Gradienten ausrechnet
Es geht um Fluiddynamik, konkret Smoothed Particle Hydrodynamics: http://image.diku.dk/projects/media/kelager.06.pdf
In Abbildung 4.3 wird die Funktion gegeben:
W(\vec r,x) = \frac{315}{64\*pi\*h^9} * (h^2 * ||r||^2)^3 wobei ||r|| hier die Länge des Vektors ist, nicht die Norm. r wird vorher in die Funktion eingereicht und ist ein(nicht normierter) richtungsvektor von der position eines partikels zu einem anderen.
Der Autor gibt dann auch den Gradienten an:
W(\vec r,x) = \frac{915}{32\*pi\*h^9} * \vec r * (h^2 * ||r||^2)^2
und den "Laplacian" (soweit ich verstanden habe einfach nur sowas wie den zweiten Gradienten,also die zweite Vektorableitung, wobei es mich hier allerdings wundert, dass nun ein Skalar beim ganzen rauskommen soll):
W(\vec r,x) = \frac{915}{32\*pi\*h^9} * (h^2 * ||r||^2) * (3h^2 - 7||r||^2)
An und für sich könnte ich das ja einfach so verwenden und in Code gießen, dabei gibt's aber zwei Probleme:
Der Autor geht im Paper davon aus, dass r dreidimensional ist, bei mir haben die Vektoren jedoch 2 Komponenten. Wird dadurch das Ergebnis des Gradienten bzw. des "Quadratgradienten" verändert?
Und zweitens: Es kommt sehr schnell vor, dass man für w(r,x) andere Funktionen einsetzt, für welche die Gradienten nicht immer gegeben sind. Dafür würde ich dann gerne wissen, wie man die Gradienten und deren Kollegen mit der 2 drüber ausrechnet
-
Achja, und als dritten Grund: Derartige Gleichungen einfach mal ausrechnen zu können, tut einem Informatiker bestimmt nicht weh. Ist leider (verständlicherweise, man braucht es ja nur für ein paar wenige Gebiete, z.B. Grafikprogrammierung, wirklich dringend) in unseren Vorlesungen zu Mathe 1 2 und 3 nicht enthalten.
-
Oh, entschuldigung, ich hab mich da kurz vertippt. In den Klammern ist es jeweils (h^2 - ||r||^2) , nicht (h^2 * ||r||^2).
-
und ich merke grade: das soll W(r,h) sein, nicht W(r,x)
-
Hier ist der Gradient nach r gemeint. (das h ist hier konstant)
Die W's (smoothing-kernels) sind normalerweise rotationssymmetrisch,
sodass du http://de.wikipedia.org/wiki/Gradient_%28Mathematik%29#Zylinder-_und_Kugelkoordinaten verwenden kannst (r = |\vec{r}|)
und damit grad W(\vec{r},h) = \vec{r}/r dW/dr
Für den Laplace such nach 'Laplace in Kugelkoordinaten' bzw. 'Zylinderkoordinaten'
-
Warum kommt dann beim Laplace-Operator wieder ein Skalar raus? Sollte das nicht einfach nochmals abgeleitet sein?
-
ausrechner schrieb:
Warum kommt dann beim Laplace-Operator wieder ein Skalar raus? Sollte das nicht einfach nochmals abgeleitet sein?
Nein! Der Laplaceoperator ist
Dabei ist das in der Klammer eine Multiplikation, das außerhalb der Klammer ein Skalarprodukt.