[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dennou-ruby:002242] Re: Ruby/GSL 1.6.3 preview



 常定@天文台です。 コメントありがとうございます。

> 特別なオプションなしにコンパイルできることと,GSL::Matrix.to_nm 
> が使えることを確認しました.
 よかったです。
# 前は narray.h を探すパスを手で指定する必要があった
# のですが、今回から自分で探しに行ってくれるようになりました。

> ドキュメントに NArray が使えるメソッド一覧があると良いのではない
> かと思いました.
 同意。用意します。(実は数にすれば結構ある)

> 今回初めてGSL::Vector#graph を使ってみました.ちょっと見たいとき
> に便利ですね.
 ほんとにちょこっとだけのときには重宝します。GSL::graph() を
使えばグラフの重ね書きも簡単です。require gsl, include GSL
しておいて
  irb(main):002:0> x = Vector.linspace(0, 10, 100)
  irb(main):003:0> s = Sf::sin(x)
  irb(main):004:0> c = Sf::cos(x)
  irb(main):005:0> GSL::graph(x, c, s)
上の x が NArray なら s, c も NArray になり、同じように
graph() に食わせることができます。

> ところで GSL::Matrix には graph メソッドがないようですが,
> そもそも GNU graph は,色塗りや等高線などの2次元表示できるものな
> のでしょうか.(GNU plotutils には馴染みがないです.そもそも 
> gnuplot とは全く独立なものなのでしょうか)
 gnuplot とは独立です(gnuplot は GNUソフトウェアではない)。
# 実は Vector#plot というメソッドもあるのですが、
#  貧弱なので黙ってます。
GSLのマニュアル(ps版)などではgraphがいくつか使われています
ので、Ruby/GSLでもGNUでいくことにしました。graphコマンドは、
GNU plotutils (ライブラリ)をコンパイルしたときに作られる、
libplot.a の一種のサンプルプログラムのようなものです。
Ruby/GSLは、libplot.aを直接使うのではなく、popen して
graphコマンドにデータを流し込んでいるだけです。graphでは、
等高線表示などはできません。libplot.a をじかにいじれば
できるのかも知れませんが、マニュアルを眺めていると、苦労して
これを使うことのご利益はあまりないように思われます。
-------------------------------------
  常定 芳基  Yoshiki TSUNESADA
    国立天文台 重力波プロジェクト室
       181-8588 東京都三鷹市大沢2−21−1
       TEL: 0422-34-3625