という区間を変数 x に代入するには
>> x=infsup(-1,1)あるいは >> x=midrad(0,1) |
区間の下限、上限、中心、半径はそれぞれ inf(), sup(), mid(), rad() で求められる。
やってみよう |
>> inf(x) >> sup(x) >> mid(x) >> rad(x) |
(既にこの文書の上の方で書いておいたが)
INTLAB では、複素数の包み込みには、
区間 (下限/上限形式) ではなく、
複素平面における閉円盤
(中心/半径形式) を用いる。
演算も中心/半径形式のままで行う。
これにより、精度が犠牲になるが
(下限/上限形式の場合の
倍の overestimate となる)、
高速に実行できる。
intvalint('SharpIVmult') を実行すると、
下限/上限形式で計算するようになり、
シャープであるが、遅くなる。
(infsup(,
) と入力することは出来るが、
内部では閉円盤に丸められて (当然 overestimation して) 記憶される。)
という区間を z に代入するには
>> z=midrad(1+i,1)(これで intval z=< 1.0000 + 1.0000i, 1.0000> と返す。) >> inf(z) >> sup(z)(円盤に外接する正方形の左下の点 0, 右上の点 ![]() >> mid(z) >> rad(z)(それぞれ円盤の中心 ![]() ![]() |
関数 intval() は、
例えば
であるから、
を含む区間が必要ならば intval('0.1') とする。
intval(0.1) は、
を
に最も近い浮動小数点数としたとき、
点区間
を表す。
であることに注意せよ。
» x=intval(0.1) (
![]() » x=intval('0.1') ( ![]() |
桂田 祐史