Mathematicaで双曲線をプロット
(2007更新)
Mathematica6からは2D/3DグラフがParametricPlot/ParametricPlot3Dで簡単に描けるようになったのでこのページの内容は古くなりました
Mathematica5.xで双曲線 x * y = a をグラフに描くには壁がふたつある
ImplicitPlotを使う
- ParametricPlotでも出来るが単純なx * y = aの関数形を使えないので不便
- ただし、ヘルプではParametricPlotしか出てこないので、めったにMathematica使わない人(私)にImplicitPlotの存在は発見されにくい。(第一の壁)
パッケージのロードが必要
- ImplicitPlotは標準状態では動かずパッケージのロードが必要
<< Graphics`ImplicitPlot`
マニュアルの通りだが、マニュアルの表示だと`と'の区別が付かないので普通の人(私)はまずシングルクォートの'を使うだろう。そしてエラーとなって途方に暮れる。(これが第二の壁)
yの範囲を指定しよう
- xの範囲指定だけでも表示されるが、縦につぶれたグラフになって双曲線に見えなくてあせる
ImplicitPlot[x * y == 1, {x, -5, 5}]
- x,yとも範囲を指定すれば見慣れた双曲線が現れる
ImplicitPlot[x * y == 1, {x, -5, 5}, {y, -5, 5}]
- 私が表示したかったのはこんなグラフ
ImplicitPlot[4 * x * y - x * x - 5 * x + 6 * y +8 ==0, {x,-10,10},{y,-10,10}]
3次元グラフにはImplicitPlotは使えない
- 本当は3次元グラフ(双曲面)を描きたかったがImplicitPlotが使えるのは2次元グラフまで。3次元グラフではParametricPlot3Dを使うしかない。