int
定積分および不定積分
説明
は、1 つ以上の F = int(___,Name=Value)Name=Value 引数を使用して追加のオプションを指定します。たとえば、IgnoreAnalyticConstraints=true を指定すると、int は被積分に対して追加の単純化を適用します。
メモ
関数 int は、積分をシンボリックに計算するもので、MATLAB® の整数データ型とは関係ありません。積分の詳細については整数 を参照してください。
例
入力引数
名前と値の引数
ヒント
微分とは対照的に、シンボリックな積分はより複雑な作業です。
intで式の積分が算出できない場合、次の理由をチェックしてください。不定積分が閉形式で存在しない。
不定積分は存在するが、
intで求めることができない。
intで閉形式の積分を算出できない場合は、未解決の積分が返されます。閉形式の解をもつ積分について、それらの解が複雑で
intから未解決の積分が返される場合に、simplifyを使用して閉形式の解が得られることがあります。たとえば、次のコードは積分f(x)の閉形式の解を求めます。syms x f(x) = x*log(x/2+sqrt(x^2+1)); F = int(f,x) simplify(F,Steps=10)それ以外の場合は、次のいずれかの方法を使用して未解決の積分の近似を試すことができます。
不定積分では級数展開を使用する。この方法を使用して、変数の特定値近傍で積分を近似します。
定積分では数値近似を使用する。
不定積分では
intは結果で積分の定数を返しません。数学的に等価な式を積分した結果は異なる場合があります。たとえば、syms x; int((x+1)^2)は(x+1)^3/3を返し、syms x; int(x^2+2*x+1)は(x*(x^2+3*x+3))/3を返します。これは最初の結果とは1/3異なっています。不定積分では、
intは暗黙的に積分変数varが実数であると仮定します。定積分では、intは積分変数varを指定された積分区間に制限します。ただし、この区間が既存の仮定に適合しない場合を除きます。一方または両方の積分限界aとbが数値でない場合、明示的に指定しない限り、intはa <= bと仮定します。たとえば、既定の仮定
a <= bを使用すると、次のコードは(a,b)=(3,2)で定積分を評価した結果として 0 を返します。syms x a b F(a,b) = int(heaviside(x-1)*heaviside(4-x),a,b); F(3,2)
仮定ans = 0
a > bを明示的に指定すると、次のコードは積分結果として –1 を返します。assume(a > b) F(a,b) = int(heaviside(x-1)*heaviside(4-x),a,b); F(3,2)
ans = -1
アルゴリズム
IgnoreAnalyticConstraints を使用する際は、int によって以下のルールのいくつかが適用されます。
任意の a および b について、log(a) + log(b) = log(a·b) が成り立つ。特に、a、b、c のすべての値に対して、次の等式が有効である。
(a·b)c = ac·bc.
任意の a および b について、log(ab) = b·log(a) が成り立つ。特に、a、b、c のすべての値に対して、次の等式が有効である。
(ab)c = ab·c.
f および g が標準的な数学関数、かつ任意の微小な正数について f(g(x)) = x である場合、すべての複素数値 x に対して f(g(x)) = x が有効であるものとする。以下に例を示します。
log(ex) = x
asin(sin(x)) = x, acos(cos(x)) = x, atan(tan(x)) = x
asinh(sinh(x)) = x, acosh(cosh(x)) = x, atanh(tanh(x)) = x
ランベルトの W 関数のすべての分岐指標 k に対して、Wk(x·ex) = x。
