メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

dirac

ディラックのデルタ関数

説明

d = dirac(x) は、xディラック デルタ関数を表します。

d = dirac(n,x) は、x におけるディラック デルタ関数の n 次導関数を表します。

すべて折りたたむ

ディラック デルタおよびへヴィサイドの関数を含む式の微分と積分を計算します。

へヴィサイド関数の 1 次および 2 次導関数を求めます。結果はディラック デルタ関数とその 1 次導関数となります。

syms x
Dx = diff(heaviside(x), x)
Dx = δdirac(x)
D2x = diff(heaviside(x), x, x)
D2x = δdirac(x)

ディラック デルタ関数の不定積分を求めます。int で返された結果には積分定数が含まれません。

f = int(dirac(x), x)
f = 

sign(x)2

ディラックのデルタ関数を含む正弦関数の積分を求めます。

syms a
f = int(dirac(x - a)*sin(x), x, -Inf, Inf)
f = sin(a)

dirac は変数についての仮定を考慮に入れます。

syms x real
assumeAlso(x ~= 0)
d = dirac(x)
d = 0

計算を続けるため、x に設定された仮定を syms を使用して再作成することで消去します。

syms x

x のディラック デルタ関数とその最初の 3 つの導関数を計算します。

ベクトル n = [0,1,2,3] を使用して導関数の階数を指定します。dirac 関数はスカラーを n と同じサイズのベクトルに展開し、結果を計算します。

syms x
n = [0,1,2,3];
d = dirac(n,x)
d = (δdirac(x)δdirac(x)δdirac(x)δdirac(x))

x0 を代入します。

d0 = subs(d,x,0)
d0 = (--)

fplot を使用して、既定の区間 [-5 5] でディラックのデルタ関数をプロットできます。ただし、dirac(x)x0 と等しい場合に Inf を返し、fplot は無限大をプロットしません。

シンボリック変数 x を宣言し、fplot を使用してシンボリック式 dirac(x) をプロットします。

syms x
fplot(dirac(x))

Figure contains an axes object. The axes object contains an object of type functionline.

x0 と等しい場合に無限大を処理するには、シンボリック値ではなく数値を使用します。Inf の値を 1 に設定し、stem を使用してディラックのデルタ関数をプロットします。

x = -1:0.1:1;
y = dirac(x);
idx = y == Inf; % find Inf
y(idx) = 1;     % set Inf to finite value
stem(x,y)

Figure contains an axes object. The axes object contains an object of type stem.

入力引数

すべて折りたたむ

入力。実数を表す数値、シンボリック数、変数、式または関数として指定します。この入力はベクトル、行列、あるいは数値、シンボリック数、変数、式または関数の多次元配列でも可能です。

微分の次数。非負の数値、あるいは非負の数値を表すシンボリックな変数、式または関数として指定します。この入力はベクトル、行列、あるいは非負の数値、シンボリック数、変数、式または関数の多次元配列でも可能です。

詳細

すべて折りたたむ

ヒント

  • 非ゼロの虚数部をもつ複素数値 x に対して diracNaN を返します。

  • dirac は、シンボリック オブジェクトではない数値引数に対し浮動小数点の結果を返します。

  • dirac は非スカラーの入力の要素ごとに働きます。

  • 入力引数 x および n は同じサイズのベクトルまたは行列でなければなりません。またはいずれかがスカラーでなければなりません。一方の入力引数がスカラーであり、もう一方の入力引数がベクトルまたは行列である場合、dirac によってスカラーは、すべての要素がそのスカラーと等しい、もう一方の引数と同じサイズのベクトルまたは行列に拡張されます。

バージョン履歴

R2006a より前に導入