Um eine Wahrscheinlichkeit zu berechnen, muss ich Derivate berechnen (und dann auswerten) wie $\frac{\partial^5 f}{\partial x_1^2 \partial x_2^3}$
, wobei $f$
eine Polynomfunktion ist. Das Problem besteht darin, dass die Reihenfolge der Ableitung wahrscheinlich variiert sowie die Liste der Variablen, für die die Ableitung berechnet wird.Berechnen der n-ten Ableitung einer Funktion
Ich habe schon mit rSymPy und Ryacas versucht und es funktioniert ... bis die Anzahl der Variablen zu wichtig wird. Also muss ich nach einer anderen Lösung suchen. Ich habe versucht mit der DD() -Funktion, die in der Dokumentation von deriv() angegeben ist, und die Verwendung dieser Funktion scheint iterativ in Ordnung (und unerwartet effizienter als mit rSymPy und Ryacas).
Mein Problem ist, den DD(DD(DD(...my.expr...,"xi",ni),"xj",nj),"xk",nk)
Befehl zu erstellen. Ich versuchte, den folgenden Code:
step1 <- function(k) paste0(",x", k, ",", r[k]-1, ")", collapse="")
step2 <- function(expr) {
paste0(paste0(rep.int("DD(",u), collapse=""), expr,
paste0(sapply(t,f4), collapse=""), collapse="") }
step2(f)
wo r
einen Vektor für jede Variable, die die Reihenfolge der Ableitung ist, t
eine Teilmenge dieses Vektors, u <- length(t)
f
und ist ein Ausdruck Objekt. Diese Lösung funktioniert nicht, da Anführungszeichen um Variablennamen fehlen. Ich bekomme in der Tat zum Beispiel (I ließ die Funktion aus dem Code):
DD(DD(DD(DD(DD(my.expr,x1,1),x7,1),x9,2),x10,1),x11,1)
statt:
DD(DD(DD(DD(DD(my.expr,"x1",1),"x7",1),"x9",2),"x10",1),"x11",1)
Ich habe versucht, das Hinzufügen \"
in meiner Funktion step1
, aber ich habe dann ein Problem mit der Berechnung der Ableitung. Irgendwelche Vorschläge, um dieses Problem zu beheben?
PS: es wäre sicherlich einfacher mit einer Schleife, aber ich möchte es möglichst vermeiden.
PS2: Sorry für LaTeX-Code.
Danke für die Hilfe. In meinem Fall würde die viel einfachere Lösung zuerst das Polynom erweitern müssen. Ich weiß nicht, wie ich das mit R ausführen soll. – PlaymoBill