記号的な区別は、手作業よりもエラーが起こりにくいです。
は、低次のために私は象徴的分化が大幅に計算時間がかかるだろうが、あなたはすぐにそれが
proc.time、
system.timeまたは
rbenchmarkパッケージを使用しているか決定するためにあなたの特定の状況を時間を計ることができると思いませんでした。また、
these examplesを参照してください。
小切手と手書きの両方の差別化を試したい場合があります。 Ryacasパッケージ対Rのderiv(例えばD
などと関連した機能)について
は、後者は、ユーザが自分自身を(deriv
の三argが順序指定)反復することを必要とせずに繰り返し分化を行うための施設を持っており、それが持っていますSimplify
機能はRには存在しませんが、Ryacasは慎重にチェックする必要があります。なぜならyacasは時折少しバグが多い可能性があるからです。
> library(Ryacas)
> x <- Sym("x")
> y <- (x^2+x)^2
> dy <- deriv(y, x, 2) # 2nd deriv
> dy
expression(2 * (2 * x + 1)^2 + 4 * (x^2 + x))
> Simplify(dy)
expression(2 * (6 * x^2 + 6 * x + 1))
EDIT:例に追加しました:
> Eval(dy, list(x = 3))
[1] 146
> Eval(Simplify(dy), list(x = 3))
[1] 146
>
> f <- function(x) {}
> body(f) <- yacas(Simplify(dy))[[1]]
> f
function (x)
2 * (6 * x^2 + 6 * x + 1)
> f(3)
[1] 146
>
> # double check
> w <- 3
> eval(D(D(expression((w^2+w)^2), "w"), "w"))
[1] 146
またdemo("Ryacas-Function")
を試してみてください。ここ
は一例です。
EDIT 2:エラーを修正し、例を追加しました。
あなたは何をしようとしていますか?あなたの質問は不明です。 Ryacasと他の代数的コンピュータ言語は、解析的(派生的ではない)の派生的な導関数(「派生」ではない)を計算することができます。そうすれば、Rは導関数を表すさまざまな関数の値を計算することができます。 f "? –
私はRの中の"象徴的な "派生語について話します(助けてください(D)) "なぜ "は長すぎて説明には関係がありません "どのような関数f "私たちは、デリバティブが計算できる任意の関数を言う... 私はあなたが指摘する利点を知りたいと思います。計算時間、メモリ、スピードの面では、... – Marco
@G。 Grothendieck:ご意見ありがとうございました – Marco