VectorCalculus[int] - 関数の積分計算
使い方
int(f, dom, inert)
パラメータ
f - 'ベクトル'(代数) または代数; 積分されるオブジェクトの指定
dom - リスト(名前)=領域 またはトップレベルの int コマンドに受け渡される追加の引数
inert - (オプション) 名前; 不活性形式 (Int) が返されるように指定
|
説明
|
|
•
|
int(f, dom) コマンドは、dom で指定された範囲における関数 f の積分を計算します。
|
•
|
f が式の場合、dom は list(name)=domain の形をとらなくてはなりません。ここで domain は、領域を記述する、未評価の関数の呼び出しを表します。f がベクトルの場合、トップレベルの int コマンドは、追加の引数として int に渡される dom を伴って、f の成分に写像されます。
|
•
|
積分範囲は、未評価の関数の呼び出しで表現されます。利用可能な積分範囲は、Circle(cen, rad), Ellipse(eqn), Parallelepiped(r1, ..., rk), Rectangle(r1, r2), Region(r1, ..., rk), Sector(obj, start, finish), Sphere(cen, rad), Tetrahedron(v1, v2, v3, v4) および Triangle(v1, v2, v3) です。
|
|
Circle の 1 つめのパラメータ cen は、'Vector'(2, algebraic) 型を、また rad は algebraic 型を持つ必要があります。これらは、円の中心と半径をそれぞれ表します。座標系の属性が cen に指定されている場合には、中心はその座標系において解釈されます。
|
|
パラメータ eqn は、algebraic 型を持つ必要があります。楕円は、等式 eqn = 0 で表現されます。
|
|
Parallelepiped(r1, ..., rk)
|
|
これは、k 重の領域の積分を指定します。各 ri は、 algebraic..algebraic 型を持つ必要があります。また、範囲内にある式は、成分の変数に依存できません。これらは、積分の過程で各変数について使用される範囲となります。
|
|
これは、Parallelepiped を R^2 へ適用した特殊形です。
|
|
これは、k 重の領域の積分を指定します。各 ri は、 algebraic..algebraic 型を持つ必要があります。また、i 番目の範囲は、最初の i-1 個の変数だけに依存することができます。これにより、領域を簡単に累次積分に変換することが可能です。
|
|
Sector(obj, start, finish)
|
|
Sector の1つめのパラメータ obj は、円または楕円の構造を、また start および finish は、algebraic 型を持つ必要があります。これは、指定された円または楕円の、角度 start から開始され、角度 finish で終了される扇形を表します。ここで、0点の角度は、正の x 方向を表します。例えば、start が 0、finish が Pi/2 である場合には、円の右上1/4を表します。
|
|
Sphere の1つめのパラメータ cen は 'Vector'(3, algebraic) 型を、また rad は algebraic 型を持つ必要があります。これらは、球の中心と半径をそれぞれ表します。座標系の属性が cen に指定されている場合には、その中心はこの座標系において解釈されます。
|
|
Tetrahedron(v1, v2, v3, v4)
|
|
各 vi は、'Vector'(3, algebraic) 型を持つ必要があります。これらは、四面体の頂点を表します。これのベクトル上に cen の座標系属性が指定されている場合には、各頂点はそれ独自の座標系において解釈されます。
|
|
各 vi は、'Vector'(2, algebraic). 型を持つ必要があります。これらは、三角形の頂点を表します。座標系属性が指定されている場合には、各頂点はそれ独自の座標系において解釈されます。
|
•
|
int(f, dom, inert) コマンドは、dom 上での f の積分について、未評価 (不活性) の形式を返します。
|
|
|
例
|
|
Warning, the assigned names <,> and <|> now have a global
binding
Warning, these protected names have been redefined and
unprotected: *, +, ., Vector, diff, int, limit, series
| |
>
|
int( x^2+y^2, [x,y] = Circle( <0,0>, r ) );
|
>
|
int( exp(-x^2-y^2-z^2), [x,y,z] = Sphere( <0,0,0>, r ) );
|
| (2.1) |
>
|
int( exp(-x^2-y^2-z^2), [x,y,z] = Sphere( <0,0,0>, r ), 'inert' );
|
| (2.2) |
>
|
int( x*y, [x,y] = Triangle( <0,0>, <1,0>, <0,1> ) );
|
| (2.3) |
>
|
int( sin(x)*cos(y)*tan(z), [x,y,z] = Parallelepiped( 0..Pi, 0..Pi/2, 0..Pi/4 ) );
|
| (2.4) |
>
|
int( sin(x)/x, [x,y] = Rectangle( 0..Pi/2, 0..Pi/2 ) );
|
| (2.5) |
>
|
int( 1, [x,y] = Region( 0..1, x^2..x ) );
|
| (2.6) |
>
|
int( x+y+z, [x,y,z] = Tetrahedron( <0,0,0>, <1,0,0>, <0,1,0>, <0,0,1> ) );
|
| (2.7) |
>
|
int( x+y+z, [x,y,z] = Tetrahedron( <0,0,0>, <1,0,0>, <0,1,0>, <0,0,1> ), 'inert' );
|
| (2.8) |
>
|
int( 1, [x,y] = Ellipse( x^2/4 + y^2/9 - 1 ) );
|
| (2.9) |
>
|
int( y^2, [x,y] = Sector( Circle( <0,0>, r ), 0, Pi ) );
|
| (2.10) |
>
|
int( x, [x,y] = Sector( Ellipse( x^2/4 + y^2/9 - 1 ), 0, Pi/2 ) );
|
| (2.11) |
| (2.12) |
|
|