divergence
シンボリックなベクトル場の発散
説明
例
ベクトル場の発散を求める
ベクトル に関して、ベクトル場の発散 を計算します。
syms x y z V = [x 2*y^2 3*z^3]; X = [x y z]; div = divergence(V,X)
div =
ベクトル場の回転の発散は 0 になることを示します。
divCurl = divergence(curl(V,X),X)
divCurl =
スカラー場 の勾配の発散を求めます。結果は、スカラー場のラプラシアンになります。
syms x y z f = x^2 + y^2 + z^2; divGrad = divergence(gradient(f,X),X)
divGrad =
電界から電荷密度を求める
微分形式のガウスの法則は、電界の発散が電荷密度に比例することを記述しています。
電界 に対する電荷密度を求めます。
syms x y ep0 E = [x^2 y^2]; rho = divergence(E,[x y])*ep0
rho =
ep0 = 1
として、 および における電界と電荷密度を可視化します。meshgrid
を使用して、x
と y
の値におけるグリッドを作成します。subs
を使用してグリッド値を代入することによって、電界と電荷密度の値を求めます。subs
への入力として cell 配列を使用して、グリッド値 xPlot
および yPlot
を同時に、電荷密度 rho
に代入します。
rho = subs(rho,ep0,1); v = -2:0.1:2; [xPlot,yPlot] = meshgrid(v); Ex = subs(E(1),x,xPlot); Ey = subs(E(2),y,yPlot); rhoPlot = double(subs(rho,{x,y},{xPlot,yPlot}));
quiver
を使用して電界をプロットします。contour
を使用して電荷密度を重ね合わせます。等高線は電荷の値を示します。
quiver(xPlot,yPlot,Ex,Ey) hold on contour(xPlot,yPlot,rhoPlot,"ShowText","on") title("Contour Plot of Charge Density Over Electric Field") xlabel("x") ylabel("y")
電磁波方程式の導出
R2023a 以降
マクスウェル方程式から、電荷および電流源のない自由空間における電磁波の方程式を導出します。
最初に、真空透磁率と誘電率を表すシンボリック スカラー変数を作成します。直交座標を表すシンボリック行列変数を作成します。電界と磁場を空間と時間の関数として表す 2 つのシンボリック行列関数を作成します。
syms mu_0 epsilon_0 syms X [3 1] matrix syms E(X,t) B(X,t) [3 1] matrix keepargs
次に、マクスウェル方程式を表す 4 つの方程式を作成します。
Maxwell1 = divergence(E,X) == 0
Maxwell1(X, t) =
Maxwell2 = curl(E,X) == -diff(B,t)
Maxwell2(X, t) =
Maxwell3 = divergence(B,X) == 0
Maxwell3(X, t) =
Maxwell4 = curl(B,X) == mu_0*epsilon_0*diff(E,t)
Maxwell4(X, t) =
次に、電界の波動方程式を求めます。2 番目のマクスウェル方程式の回転を計算します。
wave_E = curl(Maxwell2,X)
wave_E(X, t) =
電界の波動方程式に最初のマクスウェル方程式を代入します。lhs
と rhs
を使用して、最初のマクスウェル方程式の左辺と右辺を取得します。
wave_E = subs(wave_E,lhs(Maxwell1),rhs(Maxwell1))
wave_E(X, t) =
4 番目のマクスウェル方程式の時間微分を計算します。
dMaxwell4 = diff(Maxwell4,t)
dMaxwell4(X, t) =
wave_E
の磁場 を含む項を dMaxwell4
の右辺で置き換えます。lhs
と rhs
を使用して、dMaxwell4
からこれらの項を取得します。
wave_E = subs(wave_E,lhs(dMaxwell4),rhs(dMaxwell4))
wave_E(X, t) =
同様の手順を使用して、磁場の波動方程式も求めることができます。
wave_B = curl(Maxwell4,X)
wave_B(X, t) =
wave_B = subs(wave_B,lhs(Maxwell3),rhs(Maxwell3))
wave_B(X, t) =
dMaxwell2 = diff(Maxwell2,t)
dMaxwell2(X, t) =
wave_B = subs(wave_B,lhs(dMaxwell2),rhs(dMaxwell2))
wave_B(X, t) =
入力引数
V
— シンボリックなベクトル場
シンボリック スカラー変数のベクトル | シンボリック関数 | シンボリック行列変数 | シンボリック行列関数
シンボリックなベクトル場。シンボリック スカラー変数、シンボリック関数、シンボリック行列変数、またはシンボリック行列関数のベクトルとして指定します。V
は X
と同じ長さでなければなりません。
V
がシンボリック スカラー変数の関数であり、V
がsym
型またはsymfun
型である場合、ベクトルX
はsym
型またはsymfun
型でなければならない。V
がシンボリック行列変数の関数であり、V
がsymmatrix
型またはsymfunmatrix
型である場合、ベクトルX
はsymmatrix
型またはsymfunmatrix
型でなければならない。
データ型: sym
| symfun
| symmatrix
| symfunmatrix
X
— 発散を求める対象のベクトル
シンボリック スカラー変数のベクトル | シンボリック関数 | シンボリック行列変数 | シンボリック行列関数
発散を求める対象のベクトル。シンボリック スカラー変数、シンボリック関数、シンボリック行列変数、またはシンボリック行列関数のベクトルとして指定します。X
は V
と同じ長さでなければなりません。
X
を指定せず、V
がシンボリック スカラー変数の関数である場合、既定では、divergence
は、symvar(V)
で定義された変数の順序で、V
のシンボリック スカラー変数からベクトルX
を構成する。X
がsymmatrix
型のシンボリック行列変数である場合、X
は1
行N
列またはN
行1
列のサイズでなければならない。V
とX
がスカラーの場合、divergence(V,X) = diff(V,X)
となる。
データ型: sym
| symfun
| symmatrix
| symfunmatrix
制限
関数
divergence
はテンソル微分をサポートしません。入力V
がベクトルではなくテンソル場または行列である場合、関数divergence
はエラーを返します。現在、Symbolic Math Toolbox™ は、シンボリック行列変数の関数
dot
または関数cross
と、symmatrix
型およびsymfunmatrix
型の関数をサポートしていません。ベクトル微積分の恒等式がドット積またはクロス積を含む場合、ツールボックスは代わりに他のサポートされている関数でそれらの恒等式を表示します。シンボリック行列の変数と関数をサポートするすべての関数のリストを表示するには、コマンドmethods symmatrix
とmethods symfunmatrix
を使用します。
詳細
シンボリックなベクトル場の発散
直交座標のベクトル X = (X1,...,Xn) に関するシンボリックなベクトル場の発散 V = (V1,...,Vn) は、X1,...,Xn に関する V の偏微分の和です。
バージョン履歴
R2012a で導入MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)