srandを使った不具合で、ループの中でrandとsrandをセットで使う例があります。ループの中でrandのたびにsrandを直前に実行させるわけですが、コンピュータの処理は大変に早いので、現在時刻をseedに設定していると、ループの中で連続して同じseedでsrandを実行することになってしまいます。つまり、1秒間は同じ擬似乱数が発生することになってしまうのです。
ご存知、time関数は1970年1月1日からの経過秒数を秒単位で返す関数で、1秒以内に終わるようなプログラムを何度も実行する場合、同じシードで乱数が初期化されて結果が同じになるという事態が起きるようです。そういうわけで、マイクロ秒単位で取得できるgettimeofdayを使うことで事なきを得ました。
参考 http://www.deqnotes.net/gnuplot/save_graphs
replotでグラフを重ねて描く場合の注意
一度plotすると,再度plotあるいはreplotし直しても,出力先の画像は上書きされません。
gnuplot> set term png # termはterminalの省略形 gnuplot> set output 'tri.png' gnuplot> plot sin(x) gnuplot> replot cos(x) # 更新されない gnuplot> replot tan(x) # 更新されない
そこで最後のreplotの前にset outputを置くようにします。
gnuplot> set term png gnuplot> set output '/dev/null' # Windowsでは不要 gnuplot> plot sin(x) gnuplot> replot cos(x) gnuplot> set output 'tri.png' gnuplot> replot tan(x)
ファイル'/dev/null'は単に出力を捨てるために使われます。 Windowsで出力のたびに「set terminal png」を毎回入力しない場合は,「set output '/dev/null'」のかわりに「set output」で標準出力に設定しておくとよいでしょう。
まずタグファイルを作成する。
etags foo.cpp bar.cpp zot.cpp common.h
補間するにはESC-TAB
参考HP
仮想ディスクの作り方など http://yamashita.dyndns.org/blog/343/
Debian インストール詳細 http://usednote.seesaa.net/article/48263001.html
http://www.itmedia.co.jp/enterprise/articles/0606/20/news036.html
注意するのはvmxファイルの製作時。
基本は参考HP http://yamashita.dyndns.org/blog/343/通り書けばいいが、
uuid.location = "56 4d 4a 15 2a 3f 49 70-03 c9 82 f3 02 82 dc 4c" uuid.bios = "56 4d 4a 15 2a 3f 49 70-03 c9 82 f3 02 82 dc 4c"
の部分は
uuid.action = "create"
に変更して、biosの設定などを自動生成にする。 また
ide0:0.fileName = "filename.vmdk"
のide0:0.fileName のfileNameまで変更しないこと
http://nao.s164.xrea.com/tips/vmware.html
http://nobumasa-web.hp.infoseek.co.jp/multi_boot/vmware/vmware.html
Windows の「マイネットワーク」を右クリックして「プロパティ」を選ぶと「ネットワークとダイヤルアップ接続」が出て来ます.その中の VMware NAT (本当は何だか長い名前) の「プロパティ」から,これをしないとパッケージマネージャの設定がうまくいかない。
NATではうまくいかなかったので、Bridged接続。 Windows の「マイネットワーク」を右クリックして「プロパティ」を選ぶと「ネットワークとダイヤルアップ接続」でVMwareNetworkAdapterVmnt1(これがブリッジ接続用)のプロパティからTCP/IP 周りを設定。設定内容はIPアドレス以外はホストOSと同じにする。ホストOSの接続情報はコマンドプロントにてipconfig/allで確認。IPアドレスは最後の桁を他のPCとかぶらないように設定。設定後、再びipconfig/allでVMwareVmnt1の設定が正しいか確認できる。
設定後、ネットワークがつながらないときいは
#ifdown eth0 #ifup eth0
http://jibunstyle.net/debian/desktop.html
Debinanインストール後、デスクトップ環境をインストール
#apt-get install gdm gnome 'ttf-sazanami-*'
'ttf-sazanami-*'は日本語フォント。これがないと文字化けする。
必要なパッケージをインストール
#apt-get install gcc #apt-get install libgtk2.0-dev
ここでUbuntu7.10と同様にmakeすると
undefine reference to '__stack_chk_fail'
とエラーが出る。
これはgccの問題のようだ。参考 http://www.sinby.com/webmaker/html/$ja/Developer/Xen/SimplestOS/6-7.html
参考ページを元にMakefileのGCCのオプションに-fno-stack-protectorを加えて、make cleanしたのちにコンパイル可能に。無事動く。
Homeの中で「デスクトップ」と「Desktop」が並んでるのが、どうしても気に入らなくなってきた。というか、不便なんで英語で統一しようと…。
末端から
LANG=C xdg-user-dirs-gtk-update
設定画面が出てきて、それぞれの名前を置き換えるのか聞いてくるんで、そのままOKを押す。
shirai@yuragi-$pkg-config --version gtk 0.22 shirai@yuragi-$pkg-config --version gtk+-2.0 0.22 shirai@yuragi-$pkg-config --version glib- glib-2.0 glib-sharp-2.0 shirai@yuragi-$pkg-config --version glib-2.0 0.22 shirai@yuragi-$pkg-config --version pango 0.22
shirai:X11R6$ls bin
pkg-config gtk+-2.0 --cflags
shirai:X11R6$pkg-config gdk-2.0 --cflags
変数がないスクリプトなら、R上で使うコマンドをそのままRファイルに書き込めばいい。
例:以下のようなeigen.Rを作る
matrix<-read.table("matrix.dat") //matrix.datを読み込む result<-eigen(matrix) //matrixの固有値計算をresultに代入 evennum<-result$vectors[,1][seq(2,1000,by=2)] //固有値番号1の固有値ベクトルの偶数番目だけ取り出したベクトルをつくる oddnum<-result$vectors[,1][seq(1,1000,by=2)] //固有値番号1の固有値ベクトルの偶数番目だけ取り出したベクトルをつくる stvec<-evennum+oddnum write.table(stvec,file="tmp.dat") //tep.datに書き出す
使い方
source(eigen.R)
tar zcvf sample.tar.gz sample
シンボリックリンクというのは、ファイルに別名をつけるようなもので、Windowsで言うところのショートカットにあたるもの
ln -s ~/tmp/1394_imgproc_samples/data/two-wheels/ ./data ( link ) リンクする 本名 別名 ↓ ↓ ↓ # ln -s /dev/ttyS0 /dev/modem ⇒ Enter ↑ シンボリックで
http://sky-mue.jp/linux/plamo/command.html
$ ls -lh $ df -h $ du -h
http://itpro.nikkeibp.co.jp/article/COLUMN/20060228/231066/
カレントディレクトリ内のすべてのdatファイルに対して、./visualizeというプログラムを実行したいとき
$tcsh $foreach a (*.dat) foreach? ./visualize $a foreach? end
psコマンドでプロセス番号を調べた後に、kill プロセス番号