このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
積分
この例では、Symbolic Math Toolbox™ を使った定積分の計算方法を説明します。
定積分
における の範囲の定積分 が 0 であることを示します。
syms x
int(sin(x),pi/2,3*pi/2)
ans =
最大値と最小値による定積分
の場合に を最大化するには、はじめにシンボリック変数を定義し、 と仮定します。
syms a x assume(a >= 0);
次に、最大化する関数を定義します。
F = int(sin(a*x)*sin(x/a),x,-a,a)
F =
ここで、 の場合の特殊なケースに注意してください。計算を容易にするには、assumeAlso
を使用してこの可能性を無視します (後で が最大値ではないことを確認します)。
assumeAlso(a ~= 1); F = int(sin(a*x)*sin(x/a),x,-a,a)
F =
のプロットを作成し、その形状を確認します。
fplot(F,[0 10])
diff
を使用して、 について の導関数を求めます。
Fa = diff(F,a)
Fa =
の零点は の局所的極値です。
hold on fplot(Fa,[0 10]) grid on
最大値は 1 と 2 の間にあります。vpasolve
を使用してこの区間における の零点の近似を求めます。
a_max = vpasolve(Fa,a,[1,2])
a_max =
subs
を使用して積分の最大値を取得します。
F_max = subs(F,a,a_max)
F_max =
結果にはまだ厳密な数値 と が含まれています。vpa
を使用してそれらを数値近似と置き換えます。
vpa(F_max)
ans =
除外した のケースがそれよりも大きい値にならないことを確認します。
vpa(int(sin(x)*sin(x),x,-1,1))
ans =
多重積分
高次元領域の数値積分には次のような特殊関数があります。
integral2(@(x,y) x.^2-y.^2,0,1,0,1)
ans = 4.0127e-19
高次のシンボリック積分にはそのような特殊関数はありません。代わりに入れ子にされた 1 次元積分を使用します。
syms x y int(int(x^2-y^2,y,0,1),x,0,1)
ans =
線積分
3 次元空間のベクトル場 F
を定義します。
syms x y z F(x,y,z) = [x^2*y*z, x*y, 2*y*z];
次に、曲線を定義します。
syms t
ux(t) = sin(t);
uy(t) = t^2-t;
uz(t) = t;
曲線 u
に沿った F
の線積分は と定義されます。ここで、右側にある はスカラー積を表します。
この定義を使用して、範囲 の の線積分を計算します。
F_int = int(F(ux,uy,uz)*diff([ux;uy;uz],t),t,0,1)
F_int =
この厳密な結果の数値近似を求めます。
vpa(F_int)
ans =