という区間を変数 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') ( ) |
桂田 祐史