partielle numerische Differentiation, numerisch Tensor 2. Stufe |
09.05.2010, 18:47 | wover | Auf diesen Beitrag antworten » | |||||
partielle numerische Differentiation, numerisch Tensor 2. Stufe Hallo zusammen, hoffe mir kann jemand weiterhelfen. Es geht um Folgendes: ich habe in C eine numerische Funktion in die ich einen Vektor mit 4 Variablen rein schiebe und und einen Wert zurück bekomme. Den Satz der ersten partiellen Ableitungen habe ich über zentrale Differenzen berechnet. für die restlichen Variablen analog. Jetzt muss ich aber noch die 2. partiellen Ableitungen, also den Tensor 2. Stufe berechnen. Meine Ideen: irgendwie muss ich ja die zweite Richtung mit rein bringen. Also hatte ich gedacht ich komme mit weiter. Allerdings stimmt die Lösung nicht. Kann mir jemand sagen, ob der Ansatz überhaupt stimmt? bzw. Wie es sonst geht. Gruß Wover |
|||||||
09.05.2010, 22:36 | Lampe16 | Auf diesen Beitrag antworten » | |||||
RE: partielle numerische Differentiation, numerisch Tensor 2. Stufe Die Gleichung suggeriert, dass Du Deine Ableitungs-Function für die 2. Ableitungen auch auf die Funktionen anwendest. |
|||||||
09.05.2010, 23:36 | wover | Auf diesen Beitrag antworten » | |||||
RE: partielle numerische Differentiation, numerisch Tensor 2. Stufe Danke erst mal für die Antwort. Aber analytisch ist mir schon klar, wie das funktionieren sollte. Aber die numerische Umsetzung bereitet mir Schwierigkeiten... Wie gesagt, ich habe nur die function, quasi als Blackbox in die ich 4 Werte rein gebe und den Funktionswert zurück bekomme. Über zentrale Differenzen ist der Vektor der ersten partiellen Ableitungen einfach zu berechnen. Aber wie stellst du dir vor, dass ich die partiellen Ableitungen noch mal in die Ableitungs-function schicken soll. Ein bissche konkreter wäre nett. Gruß wover PS: Seh grad dass ich oben nen Fehler gemacht hab. Der Tensor muss logischer weise 4x4 sein. |
|||||||
10.05.2010, 06:28 | Lampe16 | Auf diesen Beitrag antworten » | |||||
RE: partielle numerische Differentiation, numerisch Tensor 2. Stufe Der folgende Scilab-Code leistet, was ich meine.
Falls Du die Freeware nicht hast, kannst Du sie von http://www.scilab.org/products/scilab/download downloaden. |
|||||||
10.05.2010, 09:46 | wover | Auf diesen Beitrag antworten » | |||||
RE: partielle numerische Differentiation, numerisch Tensor 2. Stufe Danke, hat mich schon viel weiter gebracht. Das ganze Ding auf 4-dimensional bringen werde ich hoffentlich noch hinbekommen. gruß wover |
|||||||
10.05.2010, 10:07 | Lampe16 | Auf diesen Beitrag antworten » | |||||
RE: partielle numerische Differentiation, numerisch Tensor 2. Stufe Das Ding ist von vornherein n-dimensional. Es genügt, die Ableitungsstelle x zu ändern (z.B. x=[3 5 2 7]) und die function foo um Terme mit x(3) und x(4) zu ergänzen. |
|||||||
Anzeige | |||||||
|
|||||||
10.05.2010, 10:14 | wover | Auf diesen Beitrag antworten » | |||||
RE: partielle numerische Differentiation, numerisch Tensor 2. Stufe Danke komm heute wahrscheinlich nicht mehr zum proggn, da ich an der uni bin (und die nur visual express haben ), werds aber spätestens morgen ausprbieren. |
|||||||
10.05.2010, 11:07 | Lampe16 | Auf diesen Beitrag antworten » | |||||
RE: partielle numerische Differentiation, numerisch Tensor 2. Stufe Habe gerade noch beim Blättern in der Scilab-Hilfe ein hübsches Kommando gefunden, mit dem Du Deine Rechnungen mit einer einzigen Zeile überprüfen kannst:
H ist die von Dir angefragte Hesse-Matrix. x ist als Spaltenvektor einzugeben. Für den Fall, dass Du Dich bisher noch nicht mit der Freeware Scilab (oder dem teuren Bruder Matlab) beschäftigt hast: Nach der Art der Aufgaben, die Du zu lösen hast, finde ich die Software unentbehrlich. |
|||||||
10.05.2010, 17:01 | wover | Auf diesen Beitrag antworten » | |||||
RE: partielle numerische Differentiation, numerisch Tensor 2. Stufe Hi Lampe16, ich arbeite bisher wenn möglich mit Matlab, da ich es von der Uni gestellt bekomme. Für diese Aufgabe muss ich allerdings in C bleiben, da mein Prof/Betreuer des halt so will. Und die Funktion um die es mir geht bekomme ich auch nicht so einfach in MATLAB/SciLab rein da ich in C etwa 800 zeilen code hab. -> Da wird es wohl einfacher sein die ableitung in c mit einer testfunktion zu implementieren. |
|||||||
10.05.2010, 18:43 | Lampe16 | Auf diesen Beitrag antworten » | |||||
RE: partielle numerische Differentiation, numerisch Tensor 2. Stufe Ich will dich nicht von C abbringen; es ist auch unentbehrlich. Für Dich als C- und Matlab-Nutzer könnte noch interessant sein, was in der Matlab-Hilfe unter "External Interfaces/API", dort unter "Calling C and Fortran Programs from Matlab" steht. |
|||||||
14.05.2010, 00:59 | wover | Auf diesen Beitrag antworten » | |||||
RE: partielle numerische Differentiation, numerisch Tensor 2. Stufe Hat alles geklappt. Danke nochmal *closed* |
|
Verwandte Themen
Die Beliebtesten » |
Die Größten » |
|
Die Neuesten » |
|