比例道
| フロントページ | 新着 | 一覧 |

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を使うしかない。