1

代数式のプロローグ簡略化について読んでいますが、理解できない部分がいくつかあります。

これらは基本的な単純化です

  x+0, x-0, 0+x, 0-x   --> x.
  x*1, x/1, 1*x        --> x.
  -1*x, x*(-1), x/(-1) --> –x.
  x+(-x)               --> x–x.

与えられた式

 (x+4)*(2-x)

派生をどうするか

  (1+0)*(2-x)+(x+4)*(0-1)

?

派生がどのように起こったのかわかりません。助けていただければ幸いです。

4

1 に答える 1

2

派生とは、関数 f(x) = (x+4)*(2-x) の数学的導関数を意味していると思います。これは非常に有名な古いコンピュータ代数問題であり、それほど難しいものではありません。解は最初、たとえば Lisp で書かれていました。

Prolog バージョンは簡単です。次のような派生ルールを実装します。

d/dx (f + g) = d/dx f + d/dx g  
d/dx (f * g) = d/dx f * g + d/dx g * f
etc.. 

たとえばderiv.pを確認する前に、まず自分で試してみることをお勧めします。コンピュータ代数ベースの autodiff はderiv.pにあります。

さよなら

于 2012-09-13T08:44:14.037 に答える