Gedaughの記憶 -7ページ目

Gedaughの記憶

コンピュータ関係の備忘録。

サッカー観戦と釣りの記録。

ときどき、科学する。

ここに書いてありました。
http://memo.officebrook.net/20080528.html
 (↑ 尊敬します。)

Debian 5.0, Ubuntu 8.10 ともにこの通りで動きましたので、ご報告。

synaptic で
unixodbc-bin, libmyodbc をインストールしておいて、

root# ODBCConfig&   (なんか、コンソールにエラーでてますけど気にしない)

[DRIVER]タブで
 name = MySQL
 driver = /usr/lib/odbc/libmyodbc.so
 setup = /usr/lib/odbc/libodbcmyS.so
とだけ変更。チェックボタンを押す。

[SYSTEM DSN] タブを見ると、さっき作ったDRIVER が見えている。
[configure] ボタンを押して現れるダイアログに
 name = test
 description = MySQL
 Server = localhost (まぁとりあえず)
 database = test (あらかじめ作っておかないと・・・)
port = 3306
などとすれば OK でした。
これで、OpenOfficeBase やら R やらからアクセスできます。
SSH したほうがいいかなー

実験でよく使う
(time, Voltage)
という組が延々と続くデータテーブル(DAT としましょう)があります。

ここから、電圧の時間微分(正確には1ステップあたりの変分)をとるにはどうしたらいいでしょう?
ようするに、知りたいのは

Voltage(i+1)-Voltage(i)

みたいな感じです。
EXCEL なら、簡単です。しかし、データベースシステムは横方向の計算は得意ですが、縦方向の計算は平均や最大最小検出を除いては不得意です。

試行錯誤の結果、見つけた方法はストアドファンクションを使う方法です。
やりかたは、ある行とその次の行の電圧をとってきて、引き算するだけです。

ストアドファンクションの中身だけ書きますが・・・
CREATE DEFINER=`root`@`localhost` FUNCTION `dt`(i integer) RETURNS double
BEGIN
DECLARE var1 double DEFAULT 1.0;
DECLARE var2 double DEFAULT 1.0;

SET var1 = (SELECT Voltage FROM DAT WHERE id =i );
SET var2 = (SELECT Voltage FROM DAT WHERE id =i+1 );

RETURN(var2-var1);
END


これを、

mysql > SELECT time, Voltage, dt(Voltate) FROM DAT;

とすれば出来ました。
ただし、最後のデータだけNULLになります。当たり前ですが・・・

問題は、テーブル名が DAT に固定になってしまうことでしょう。汎用性がありません。
どうしたものかな・・・
(というか、こういうのはアプリ側でやれという気がする)

Debian GNU/Linux 5.0 (lenny) をインストールしてみました。

インストールする PC はつい最近現役を引退した(?) DELL inspiron 700m メモリ 1G のノートです。ハードディスクだけ、中古の60GBに入れ替えています。

インストールはまともに稼働しているPCを利用して、Debian JP Project のインストールガイドの先にあるCDイメージをもらってきて、iso イメージでCDに焼き付ける事から始まります。

インストールしたいPC を、このCD から起動すると、勝手にインストールが始まります。

ファイルシステム構成では初心者推奨とかかかれている設定を選択するだけ、必要とするシステムやらなにやら・・・も言われるがままに OK, OK と連打していけばほとんどなにも困ることなくインストールが終わりました。らくちんですな。

昔はやれ X だ音源だ、やれネットワークだ、日本語変換サーバだとかなんとか、一番困るのはドライバが対応しているハードウェアを(アキバで)探すことだったりして、まるまる三日ドクロはかかったような気もしますが、今はたったの30分前後で総て済みます。仕事で使っている ubuntu もそうなのですが、見た目もスタンスも Linux がWindows 化しているような気がします。というと Linux 信者からは反感を買うのでしょうがガーン、いいじゃないですか、垣根がさかがるのは。

日本語入力の設定ですこし気にくわない部分を直しました。
(デフォルトの「漢字変換の切り替えがシフト+スペース」というのは困るんです。どうも、昔からの妙なクセでスペースキーを押すときに同時に左シフトまで押しているようです。)
その後、emacs と MySQL をインストールしました。

そして新しい環境からこのブログに書き込んでいます。