1

ある時点で微分できない関数があります。補間にスプライン(degrafaのBezierspline)を使用すると、この時点での補間は期待どおりに機能しません(この時点で、関数にねじれがあります)。スプラインで補間すると、この点の周りにある種のループが描画されます。これは、スプラインが現時点で一意ではない関数の導関数を必要とするために発生すると思います。

そうですか?この場合、私に何をするようにアドバイスしますか?

前もって感謝します

セバスチャン

4

2 に答える 2

1

そうですね。スプラインを見てからしばらく経ちますが、関数が連続していない場合は、同じ点でスプラインも不連続になっているはずです。そのような点でおおよその曲線を与える補間を見たことがありますが...他に誰もより良い答えを思い付かない場合は、教科書をチェックします。

しかし、ループはかなり良い試みです。あなたの機能への称賛。

于 2009-06-16T07:26:44.083 に答える
1

「キンク」の勾配を計算することはできません(雄弁に言えば)。そのようなポイント (x) で勾配が本当に必要な場合は、(xd) と (x+d) で勾配を平均するだけです。ここで、d は十分に小さいデルタです。これは、得られる可能性が高い他の単一の答えと同じくらい数学的に有効です。

たとえば、関数:

f(x) = |x|

生成されます:

\   |   /
 \  |  /
  \ | /
   \|/
----+----

原点 (0,0) に勾配はありません。ただし、-0.0001 (勾配 = -1) と +0.0001 (勾配 = +1) で勾配を平均すると、勾配はゼロになります (平らな線)。

これにより、(xd) と (x+d) で非対称勾配を生成する他の方程式についても、半分まともな答えが得られるはずです。

MITの下でライセンスされているので、ソースを変更して、ベジエスプラインがその+/-デルタ法を使用して非連続点で勾配を計算できるようにすることです。追加する価値があると思われる場合は、ソースの変更を開発者にプッシュバックすることもできます。

于 2009-06-16T07:36:52.943 に答える