ぎょーむ日誌 2001-01-13
2001 年 01 月 13 日 (土)
- 1430 起床.
うーむ,
すごい.
13 時間以上寝てしまった.
- プログラムのバグとりばかりやってると
アタマが壊れるので,
それを修復するために
長時間寝てしまうのではなかろーか,
と以前に考察したことがあった.
しかし,
そのときは呪われ系の言語である
C++
だからこそ
そうなるのであって,
ケガれ系の Perl では
それほどはひどくは壊れないんじゃない,
と憶測していた.
しかし Perl スクリプトも
長さが 200 行を超えるあたりから
徐々に病毒性を増すのかもしれない.
あるいは,
わざわざ
use strict
でケガれないようにしてるのに,
use vars
で宣言してしまったグローバル変数の
数が 4 コに達した時点で
「健康のためにグローバル変数の増やしすぎは
良いとは言えないかもしれないかもしれない,
とゆー仮説がないわけでもないんで,
ま,
そのあたりは各自の責任で」
といったことを
コード中に注記すべき法的義務が生じるのかも.
- それはともかく,
昨日のうちには一応は作動するようになった,
小川モデル推定系の自動お絵描き
Perl スクリプトの調整である.
- 10 種類近くの異なるグラフを単一のプログラムに
吐かせる
……
いや,
どれも似たようなモンだけど.
意外と難しいのである.
- そのスクリプト gnuplot.pl
(なんも考えてませんな)
の 動作としては,
まずこういうファイルを読み込む.
replace TITLE TREE_NAME
replace DATA OFR_HOME/output/growth/TREE_NAME
replace DATA__X 4
replace DATA__Y 6
replace MLE DATA.mle
replace MODEL1_IN DATA
replace MODEL2_IN DATA
replace MODEL1_FILE DATA_1.plot
replace MODEL2_FILE DATA_2.plot
MODEL1 Osf 0.1
MODEL2 Osf 1.0
MODEL1 __X Dbh
MODEL2 __X Dbh
MODEL1 __Y 4
MODEL2 __Y 4
replace XLABEL Dbh
replace YLABEL Growth
replace XUNIT (cm)
replace YUNIT (cm)
include "OFR_HOME/output/gnuplot/COMMON.gnuplot"
set logscale x
set nologscale y
set yrange [-0.2:2.2]
set ytics (0.0, 1.0, 2.0)
plot "DATA" using DATA__X:DATA__Y with points ps 0.5 2 7, \
"MODEL1_FILE" using MODEL1__X:MODEL1__Y with line lw 1 3, \
"MODEL2_FILE" using MODEL2__X:MODEL2__Y with line lw 1 1
あなたが重篤な gnuplot 依存症であるならば,
上のほうはごちゃごちゃしてるけど,
下はふつーの gnuplot 用のスクリプトぢゃん.
とみるであろう.
- しかし,
replace
や
include
ってのはいったいなんなのか.
ましてや
MODEL
は ?
なんか解説するのも面倒というより
むしろこう冷静にながめてみると
阿呆らしいのだけど,
理系ものぐさ類 Unix 属な
ヒトたちに愛されてるというより
惰性だけで使われ続けている
貧弱グラフ描き freeware たる
gnuplot を強めるために,
この世に形をとってあらわれたのが
gnuplot.pl なのである.
あーまーど gnuplot.
いや,
蛇足 gnuplot か.
- で,
上のようなファイルを読ますと,
小川モデリング対象 24 樹種の全てについて,
例えばこーいうグラフきれっぱしを出す.
[きれっぱし]
ありがちな.
曲線で出してるのが
開空度が 0.1 とか 1.0
なんかのときのモデル成長分布の期待値で,
gnuplot.pl が
いちいち mlfitting を --plot モードで
召喚して計算させたのである
(ケガれ言語で書かれてるくせにナマイキな).
以前はモデルを変えてパラメーター推定結果も
当然べつモノになったときに,
こうやって描画に反映させるのが
たいへんだったんですね
(変更するたびにテキストエディターで
曲線描画関連ファイルの修正しないと
ならんかった).
うう,
ただこの一点を修復するためだけに,
いったいどれほどの改造がほどこされたのか.
いまや
plugin_function.so
ごとモデルを交換しても
gnuplot.pl とうつだけ.
ああ,
われわれは
戦争には敗れはしたが
戦闘には勝利したのだ
(趣旨不明).
- ついでに,
きれっぱしだけばかり何十個も出て来ても
ありがたみがまるでないので,
これらを A4 用紙数枚の上にきれいに配置する
「型紙」として
LaTeX ファイルも同時に生成する.
そう,
末期的 gnuplot 依存症者には
LaTeX が必要にして不可欠なのである.
- ともあれ,
あれこれパラメーター推定結果の
一通りあれこれを俯瞰するための
タテ軸・ヨコ軸をあれこれ変えたグラフ,
その一形式ごとに
似たような Perl スクリプトを
あれこれ用意してたような
あれこれと悪しき状況は,
これで終わった.
ウェリントン公爵が
1815 年ワーテルローで吐いた言葉を,
われわれは背筋を伸ばしつつ
たまには真に受けてみても良いのであろう.
すなわち,
勝利より悲惨な光景は
敗北の中にしかない,
と
(やはり趣旨不明).
- どうでもいいが,
室内寒いな.
戸外を歩くときには
東京流刑地は寒いとは思わないが,
だからといってここまで
防寒を軽視した構造の住宅は危険ではなかろうか.
もしこの集合住宅が大森から札幌あたりに
そのまま移転することになったら,
どうなるのか.
寒波が襲来するたびに
屋内凍死者が続出するに違いない.
そのときは誰が責任をとるのか.
- 移転といえば,
移転がらみで憂鬱になるメイルが昨晩やってきて,
これをどう処分じゃない処理しようかで,
もてあましているのである.
策が無いので,
しばらく放っておく.
- 昨晩コーヒーが切れてしまい,
今日は一滴も飲んでいない.
じつは
gnuplot ばかりでなく植物の対昆虫防御物質にも
惰性的な嗜癖を有する私は第一京浜を渡渉して
マルエツのコーヒー売場に.
コーヒーと言ったところで
400g 398 円セイヴィングなる
いかにもダイエー系列でございますな豆しか
買えないんだが,
いつも手を出す勇気のない相対的に
100 円高い品が
今日は 398!
ちかごろ話題のナスダック株価暴落と
連動してるんだろう,
とラジオのニュースで聞きかじった知識を
動員しつつ,
さっそく一袋買って帰宅.
コーヒー汁
(吉田戦車(c))
ポットに128% 充填.
禁断症状を治癒する医療目的で
ごくごく飲んでから,
ふと正気にかえって時計をみると 2230.
また時差が生じそうである.
- ……
と防御物質ハイな状態で文章を書くと
いつもにも増して
へろへろなる文言の羅列となるのである.
- たとえ神経系がドラッグにやられようと,
これで今晩は早めに安眠できるとおもったら,
へっぽこ間違いを見つけて 0400 まで
修正につぐ修正を重ねたのである.
ああ.
時差が.
- 今日の食卓
- 朝 (1500):
スパゲッティー.
ソースは昨晩と同じ.
この時刻のどこが朝飯か.
- 昼 (1930):
朝と同じ.
- 晩 (2230):
コーヒーが補充されたので,
なんとなくパンケイキを焼いて
食べる.