|
Autor |
Jacobi-Matrix als Function handle |
|
holline
Ehemals Aktiv  Dabei seit: 26.06.2013 Mitteilungen: 266
 | Themenstart: 2016-04-20
|
Hallo miteinander,
eigentlich sollte man die Antwort auf diese Frage irgendwo im Internet finden, jedoch finde ich sie einfach nicht.
Ich würde gerne die Jacobi-Matrix einer Funktion einer beliebigen Funktion berechnen und dann diese für einen betsimmten Wert ausrechnen. Beispiel:
\sourceon Matlab
f=@(x)cos(x);
df=jacobian(f,x);
df(3);
\sourceoff
Leider funktioniert das nicht. Ich habe schon mehrere Varianten versucht, zum Beispiel mittels Subs(df,x,3), jedoch wird dann die Funktion ebenfalls nicht ausgewertet, sondern nur eingesetzt. Zum Beispiel ergibt sich für
\sourceon Matlab
f=@(x)sin(x)+cos(x)
df=jacobian(f,x);
subs(df,x,3);
\sourceoff
eben "cos(3)-sin(3)".
Falls ich ein function handle direkt erstelle mit
\sourceon Matlab
f=@(x)sin(x)+cos(x)
df=@(x)jacobian(f,x);
subs(df,x,3);
\sourceoff
passiert gar nichts.
Könnte mir Jemand verraten, warum das nicht geht und zeigen, wie es funktioniert?
Gruß Holline
|
Profil
|
holline
Ehemals Aktiv  Dabei seit: 26.06.2013 Mitteilungen: 266
 | Beitrag No.1, vom Themenstarter, eingetragen 2016-04-21
|
Hey ho,
hat keiner eine Idee?
Gruß Holline
|
Profil
|
ligning
Senior  Dabei seit: 07.12.2014 Mitteilungen: 3555
Wohnort: Berlin
 | Beitrag No.2, eingetragen 2016-04-21
|
Die Funktion jacobian arbeitet mit symbolischen Ausdrücken, siehe http://de.mathworks.com/help/symbolic/jacobian.html
Du kannst nicht einfach irgendein Function Handle übergeben. Da ich mich mit der Symbolic Toolbox nicht auskenne, kann ich dir leider dein Beispiel nicht in die korrekte Form übersetzen.
|
Profil
|
Krugman
Senior  Dabei seit: 23.05.2006 Mitteilungen: 355
Wohnort: Weil am Rhein
 | Beitrag No.3, eingetragen 2016-04-22
|
Hi,
und wenn du eine Wrapperfunktion schreibst, die das Resultat von jacobi zurück gibt?
Gruß
Krugman
|
Profil
|
gaussmath
Senior  Dabei seit: 16.06.2007 Mitteilungen: 9044
Wohnort: Hannover
 | Beitrag No.4, eingetragen 2016-04-22
|
Hallo,
eine numerische Variante, siehe hier: http://www.mathworks.com/matlabcentral/fileexchange/13490-adaptive-robust-numerical-differentiation
Grüße, Marc
|
Profil
|
holline
Ehemals Aktiv  Dabei seit: 26.06.2013 Mitteilungen: 266
 | Beitrag No.5, vom Themenstarter, eingetragen 2016-04-22
|
Hallo miteinander,
Vielen Dank für eure Antworten. Mit der Variante von gaussmath klappt es auf jeden Fall. Mit der Wrapperfunktion weiß ich nicht so recht, wie das gehen soll. Ich hatte aber auch noch nicht genügend Zeit, um das richtig auszuprobieren.
Ich habe mittlerweie aber auch die Funktion matlabFunction entdeckt. Mit der sollte es auch klappen.
Vielen Dank für eure Hilfe :)
Gruß holline
|
Profil
|
holline hat die Antworten auf ihre/seine Frage gesehen. holline hat selbst das Ok-Häkchen gesetzt. |
|
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2023 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen. Lesen Sie die
Nutzungsbedingungen,
die Distanzierung,
die Datenschutzerklärung und das Impressum.
[Seitenanfang]
|