2

Mathematica でモリファイア関数の導関数をプロットしようとしています。関数 OK を微分し、 を使用して関数をプロットできますが、導関数を関数に%割り当ててプロットできるようにしたいと思います。f[t_]Plot[ f[t] , {t,-1,1} ]

表示されるエラーを解決する方法がわかりません。

Mathematica コードは次のとおりです。

Clear[moll, f]

moll[x_] := 
Piecewise[ {  {E^(-1/(1 - x^2)), -1 < x < 1} , {0,x <= -1 || x >= 1}  } ]; (* Standard     mollifier *)

f[t_] := D[ moll[t] , t]

f[t]

Plot[%, {t, -1, 1}] (* this line works *)

Plot[f[t], {t, -1, 1}] (* this line comes up with an error *)
4

3 に答える 3

6

使ってみてPlot[Evaluate[f[t]], {t, -1, 1}]

ユーザー定義関数に関しては、プロットは少しうるさいです。

于 2012-12-05T12:27:53.750 に答える
2

指定された関数を使用すると、次を使用できます。

Plot[f[t], {t, -1, 1}, Evaluated -> True]

Evaluated -> Trueよりも優先されEvaluate[f[t]]ます。

nikie のアドバイスに従い、f別の方法で定義することをお勧めします。

Block[{t},
  f[t_] = D[moll[t], t]
]

説明については、導関数の割り当てにおけるスコーピングを参照してください。

于 2012-12-08T12:45:32.210 に答える
1

Atttributes[Plot]Plot の「うるささ」はを含むに由来するHoldAllため、飾り気のないものfは決して評価されません。ラタトスクが示唆する力の評価。

于 2012-12-06T13:41:32.973 に答える