東京工業大学 >
大学院理工学研究科 >
基礎物理学専攻 >
中村研究室 >
メンバー >
Takayuki Sako >
Maximaのメモ動作環境 Maxima 5.17.1 @ Ubuntu9.10 プログラム作成(関数定義),ファイル出力「Maxima ファイル出力」とかで検索するとsaveとか出てくる。でも使いにくい。 gnuplotなどで読み込むための計算結果のみの出力(csvのような感じ。以下の例だとssvか)ならprintfの方が使い易い。test.mac
testfunc(a):=
block( local(x,y,z), filename:openw("result.dat"), x:a+1, y:a+2, z:a+3, for m: 1 thru 10 do( printf(filename, "~f ~f ~f ~%", x,y,z), x:x+m, y:y+m, z:z+m ), close(filename) ); 実行結果
user@host :~$ maxima
Maxima 5.17.1 http://maxima.sourceforge.net Using Lisp GNU Common Lisp (GCL) GCL 2.6.7 (aka GCL) Distributed under the GNU Public License. See the file COPYING. Dedicated to the memory of William Schelter. The function bug_report() provides bug reporting information. (%i1) load("test.mac"); (%o1) test.mac (%i2) testfunc(10); (%o2) true (%i3) system("less result.dat")$ 11.0 12.0 13.0 12.0 13.0 14.0 14.0 15.0 16.0 17.0 18.0 19.0 21.0 22.0 23.0 26.0 27.0 28.0 32.0 33.0 34.0 39.0 40.0 41.0 47.0 48.0 49.0 56.0 57.0 58.0 result.dat (END) |