このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
curl
シンボリックなベクトル場の回転
説明
例
ベクトル場の回転を求める
直交座標のベクトル について、ベクトル場 の回転を求めます。
syms x y z V = [x^3*y^2*z, y^3*z^2*x, z^3*x^2*y]; X = [x y z]; c = curl(V,X)
c =
2 次元ベクトル場の回転のプロット
2 次元ベクトル場 の回転を求めます。ベクトル場を矢印 (速度) プロットとしてプロットし、その回転の 成分を等高線図としてプロットします。
2 次元ベクトル場 を作成し、その回転を求めます。回転は 成分のみをもつベクトルになります。
syms x y z F = [cos(x+y) sin(x-y) 0]; c = curl(F,[x,y,z])
c =
と の領域について、2 次元ベクトル場 をプロットします。MATLAB® には、このタスクのためにプロット関数quiver
が用意されています。この関数ではシンボリック引数は受け入れられません。まず、F
の成分の式にあるシンボリック変数を数値で置き換えます。次に quiver
を使用します。
v = -2:0.1:2;
[xPlot,yPlot] = meshgrid(v);
Fx = subs(F(1),{x,y},{xPlot,yPlot});
Fy = subs(F(2),{x,y},{xPlot,yPlot});
quiver(xPlot,yPlot,Fx,Fy)
hold on
次に、contour
を使用して、回転の 成分の等高線をプロットします。
cPlot = subs(c(3),{x,y},{xPlot,yPlot}); contour(xPlot,yPlot,cPlot,"ShowText","on") title("Contour Plot of Curl of 2-D Vector 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
— シンボリックな 3 次元ベクトル場
シンボリック スカラー変数のベクトル | シンボリック関数 | シンボリック行列変数 | シンボリック行列関数
シンボリックな 3 次元ベクトル場。シンボリック スカラー変数、シンボリック関数、シンボリック行列変数、またはシンボリック行列関数のベクトルとして指定します。V
のサイズは 1
行 3
列または 3
行 1
列でなければなりません。
V
がシンボリック スカラー変数の関数であり、V
がsym
型またはsymfun
型である場合、ベクトルX
はsym
型またはsymfun
型でなければならない。V
がシンボリック行列変数の関数であり、V
がsymmatrix
型またはsymfunmatrix
型である場合、ベクトルX
はsymmatrix
型またはsymfunmatrix
型でなければならない。
データ型: sym
| symfun
| symmatrix
| symfunmatrix
X
— 回転を求める対象の 3 次元ベクトル
シンボリック スカラー変数のベクトル | シンボリック関数 | シンボリック行列変数 | シンボリック行列関数
回転を求める対象の 3 次元ベクトル。シンボリック スカラー変数、シンボリック関数、シンボリック行列変数、またはシンボリック行列関数のベクトルとして指定します。X
のサイズは 1
行 3
列または 3
行 1
列でなければなりません。
X
を指定せず、V
がシンボリック スカラー変数の関数である場合、既定では、curl
は、symvar(V)
で定義された変数の順序で、V
のシンボリック スカラー変数からベクトル X
を構成します。
データ型: sym
| symfun
| symmatrix
| symfunmatrix
制限
関数
curl
はテンソル微分をサポートしません。入力V
がベクトルではなくテンソル場または行列である場合、関数curl
はエラーを返します。現在、Symbolic Math Toolbox™ は、シンボリック行列変数の関数
dot
または関数cross
と、symmatrix
型およびsymfunmatrix
型の関数をサポートしていません。ベクトル微積分の恒等式がドット積またはクロス積を含む場合、ツールボックスは代わりに他のサポートされている関数でそれらの恒等式を表示します。シンボリック行列の変数と関数をサポートするすべての関数のリストを表示するには、コマンドmethods symmatrix
とmethods symfunmatrix
を使用します。
詳細
シンボリックなベクトル場の回転
直交座標のベクトル X = (X1, X2, X3) に関するシンボリックなベクトル場 V = (V1, V2, V3) の回転は、次のベクトルです。
バージョン履歴
R2012a で導入参考
diff
| divergence
| gradient
| jacobian
| hessian
| laplacian
| potential
| vectorPotential
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)