6

notMatlab で離散ディラック デルタ関数として使用できますか?

離散ディラック デルタ関数の定義は、引数 0 の場合は 1 を返し、それ以外の場合は 0 を返します。しかし、これはまさにnotMatlab でも関数が行うことです!

not独自のディラック デルタ関数を記述する代わりに使用すると、何か問題が発生しますか? Matlab にはdirac 関数があることは承知していますが、それは連続バージョンです。1 ではなく 0 に対して無限大を返します。

4

3 に答える 3

0

余談ですが、これ(またはディラック関数)を有効数字の多い数値で評価しようとすると、浮動小数点数の(im)精度が原因で適切に評価されません。

x = [-2e-6:0.5e-6:2e-6]
y = (x - 0.5e-6)
~y

ただし、ゼロに見える x の要素は真のゼロにはなりません。

y(6) =    1.0588e-22

したがって、x が本当にゼロに近い場合に 1 を返す関数を提案します。浮動小数点数の精度よりも近い:

 epsdirac = @(x) double(abs(x) < eps)
于 2014-10-28T10:40:29.403 に答える