- 陰的
定義領域上の数値積分して見るとか。
integralという関数でCCTLで定義可能な関数であれば任意の関数が(一応)積分できる。当然
Mathematicaのような記号的な積分は無理だ。少しだけこの積分機能を改善しようと考えた。これによって不等式の
論理結合の領域上の関数を積分することができるようになる。例えば、
といった積分ができる。CCTLのスクリ
プトでは
I[0]=[-2,2];
I[1]=[-2,2];
integral2d("(u^4 +
v^2)*bool(u^2 + v^2 < 1 && u < v)",
I[0], I[1],500)-3*pai/16;
end;
この計算では誤差は0.00071程度である。bool関数は不等式を数値に変換する数値関数です。また、
、 が計算できる。CCTLのスクリプトで
は
put 0;
Susr=({"u", "v",
"1-(u+v)"});
put 1;
i = srfs_integral(
"bool(x>=0&&y>=0&&z>=0)*(x*y^2)", Susr,
[-2,2],[-2,2], [0.01251, 0.01251]);
i - 1/(20*sqrt(3));
end;
誤差は-0.00033程度となる。
※面積分には不備がある。積分区間を[0,1]より大きくとると結果が正しく計算されない。この不備も直した。
|