ドキュメンテーション センター

  • 評価版
  • 製品アップデート

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

del2

離散ラプラシアン

構文

  • L = del2(U)
  • L = del2(U,h)
  • L = del2(U,h1,...,hN)

説明

L = del2(U) は、すべての点の間に既定の間隔 h = 1 を使用して U に適用されるラプラス微分演算子の離散近似を返します。

L = del2(U,h) は、U のすべての次元に存在する点の間にスカラーの等間隔 h を指定します。

L = del2(U,h1,...,hN) は、U の対応する各次元に存在する点の間に間隔 h1,...,hN を指定します。次元ごとに、間隔をスカラーまたは座標のベクトルとして指定します。間隔入力の数は、U の次元の数と等しくなければなりません。

すべて展開する

ベクトルの 2 次導関数

位置データのベクトルからオブジェクトの加速度を計算します。

位置データのベクトルを作成します。

p = [1 3 6 10 16 18 29];

このデータは、7 秒間で 1 秒ごとにオブジェクトの位置が測定されることを表します。

オブジェクトの加速度を求めるには、del2 を使用して p の 2 つ目の数値微分を計算します。データ点間に既定の間隔 h = 1 を使用します。

L = 4*del2(p)
L =

     1     1     1     2    -4     9    22

L の各値は、その時点の瞬間加速度の近似です。

余弦ベクトルの 2 次導関数

余弦ベクトルの離散 1 次元ラプラシアンを計算します。

関数の領域を定義します。

x = linspace(-2*pi,2*pi);

これにより、範囲 で 100 個の均等間隔の点が生成されます。

この領域で余弦値のベクトルを作成します。

U = cos(x);

del2 を使用して U のラプラシアンを計算します。領域ベクトル x を使用して、U の各点の 1 次元座標を定義します。

L = 4*del2(U,x);

解析的に、この関数のラプラシアンは と等しくなります。

結果をプロットします。

plot(x,U,x,L);legend('U(x)','L(x)','Location','Best')

U および L のグラフは、ラプラシアンの解析結果に一致します。

多変量関数のラプラシアン

多変量関数の離散ラプラシアンを計算およびプロットします。

関数の x および y 領域を定義します。

[x,y] = meshgrid(-5:0.25:5,-5:0.25:5);

この領域で関数 を定義します。

U = 1/3.*(x.^4+y.^4);

del2 を使用してこの関数のラプラシアンを計算します。U の点間の間隔はすべての方向で等しいため、1 つの間隔入力 h を指定できます。

h = 0.25;
L = 4*del2(U,h);

解析的に、この関数のラプラシアンは と等しくなります。

離散ラプラシアン L をプロットします。

figure;hold on;grid on;
title('Plot of $\Delta U(x,y) = 4x^2+4y^2$','Interpreter','latex')
xlabel('x'); ylabel('y'); zlabel('z');
surf(x,y,L); 
view(35,14)

L のグラフは、ラプラシアンの解析結果に一致します。

自然対数関数のラプラシアン

自然対数関数の離散ラプラシアンを計算します。

実数のグリッドで関数の x および y 領域を定義します。

[x,y] = meshgrid(-5:5,-5:0.5:5);

この領域で関数 を定義します。

U = 0.5*log(x.^2.*y);

引数 y が負の場合、対数は複素数値になります。

del2 を使用してこの関数の離散ラプラシアンを計算します。各方向のグリッド点間の間隔を指定します。

hx = 1; 
hy = 0.5;
L = 4*del2(U,hx,hy);

解析的に、ラプラシアンは と等しくなります。この関数はライン または では定義されません。

UL の実数部を同じグラフにプロットします。

figure;hold on;grid on;
title('Plot of U(x,y) and $\Delta$ U(x,y)','Interpreter','latex')
xlabel('x'); ylabel('y'); zlabel('z');
surf(x,y,real(L)); surf(x,y,real(U));
view(41,58)

上表面は U で、下表面は L です。

入力引数

すべて展開する

U - 入力配列ベクトル | 行列 | 多次元配列

入力配列。ベクトル、行列または多次元配列として指定します。

データ型:single | double
複素数のサポート: あり

h - すべての次元の間隔1 (既定の設定) | スカラー

すべての次元の間隔。1 (既定値) またはスカラーとして指定します。

データ型:single | double
複素数のサポート: あり

h1,...,hN - 各次元の間隔スカラー | ベクトル

各次元の間隔。スカラーまたはベクトルとして指定します。間隔入力の数は、U の次元の数と等しくなければなりません。各間隔入力は、対応する U 次元における点の間隔を定義します。

  • 等間隔を指定するには、スカラーを使用します。

  • 非等間隔を指定するには、ベクトルを使用します。座標ベクトルは各点の位置を示し、U の対応する次元と同じ数の要素をもたなければなりません (座標と点の 1 対 1 の一致)。

データ型:single | double
複素数のサポート: あり

出力引数

すべて展開する

L - 離散ラプラシアン近似ベクトル | 行列 | 多次元配列

離散ラプラシアン近似。ベクトル、行列または多次元配列として返されます。L は入力 U と同じサイズです。

詳細

すべて展開する

ラプラス微分演算子

行列 U が、正方格子の点で計算される関数 U(x,y) である場合、4*del2(U) は、ラプラス微分演算子を U に適用したときの有限差分近似になります。

変数が多い関数 U(x,y,z,...) の場合、離散ラプラシアン del2(U) は各次元で 2 次導関数を計算します。

ここで、N は U および の次元の数です。

アルゴリズム

入力 U が行列の場合、L の内部点は、U の点と、その 4 つの近傍の平均との差分を取得して検出されます。

次に、del2 は内部から 2 階差分を線形に外挿することで、L のエッジの値を計算します。この式は、多次元 U に対して拡張されます。

参考

|

この情報は役に立ちましたか?