Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2024.1.0 - 日本語


int2d

求積法および立体求積法により2次元積分を定義

呼び出し手順

[I, err] = int2d(X, Y, f)
[I, err] = int2d(X, Y, f, params)

引数

X

N個の三角形の頂点の横座標軸の値を有する3 行 N 列の配列.

Y

N個の三角形の頂点の縦座標軸の値を有する3 行 N 列の配列.

f

被積分関数 f(u,v)を定義する 外部 (関数またはリストまたは文字列)

params

実数ベクトル [tol, iclose, maxtri, mevals, iflag] .デフォルト値は [1.d-10, 1, 50, 4000, 1] .

tol

誤差の境界の指定値. iflag=0の場合, tol は 相対誤差の境界として解釈されます; iflag=1の場合, 絶対誤差の境界と解釈されます.

iclose

LQM0 または LQM1の選択を定義する積分パラメータ. iclose=1の場合, LQM1 が使用されます. icloseがその他の値の場合, LQM0 が使用されます. LQM0 は三角形の内部の点における値のみ関数の値を使用します. LQM1 は通常 LQM0 より正確ですが, 三角形の境界点を含む より多くの点で被積分関数を評価します. 通常,被積分関数が三角形の境界において特異とならない限り, LQM1 を使用するのが良いでしょう.

maxtri

領域の最後の三角形分割における三角形の最大数

mevals

許容される関数評価の回数の最大値. この値は, LQM1の場合には94*maxtri未満, LQM0の場合には56*maxtri未満 とした場合にのみ計算負荷を制限する効果があります.

iflag

I

積分値

err

誤差の推定値

説明

int2d は, n個の三角形からなる領域において 関数fの2次元積分を計算します. 全体の推定誤差が得られ,このサブルーチンへの入力として指定された 許容誤差 tolと比較されます. 許容誤差はiflagの入力値に基づき 相対または絶対誤差として扱われます. 'ローカルな求積モジュール'が 各入力三角形に適用され,積分の合計値が推定され, 誤差の合計値が計算されます. ローカルな求積モジュールは,サブルーチン LQM0 または サブルーチン LQM1のどちらかで, 入力変数icloseの値によりどちらを 使うかが定義されます.

誤差推定値の合計が許容誤差を超える場合, 絶対誤差が最大となる三角形は最も長い辺の中点で 2つの三角形に分割されます. この後,ローカルな求積モジュールが分割された各三角形に 適用され積分値と誤差の新たな推定値が得られます. この処理は,(1)許容誤差の制約が満たされるか, (2)生成される三角形の数が入力パラメータmaxtri を超えるか,(3)被積分関数を評価した数が入力パラメータ mevalsを超えるか,もしくは(4) 丸め誤差が結果を汚染し始めたとこの関数が検知した場合, まで繰り返されます.

X = [0,0 ; 1,1 ; 1,0];
Y = [0,0 ; 0,1 ; 1,1];
deff('z = f(x,y)', 'z = cos(x+y)')
[I,e] = int2d(X, Y, f)
// 正方形の区間 [0 1]x[0 1] で被積分関数を計算します

参照

  • mesh2d — Triangulation of n points in the plane
  • int3d — 求積法および立体求積法により3次元積分を定義
  • intg — 定積分
  • intl — コーシー積分
  • intc — コーシー積分
Report an issue
<< impl 微分方程式 int3d >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Jun 17 17:54:17 CEST 2024