読者です 読者をやめる 読者になる 読者になる

ヒッキー ときどき 旅人ランナー

普段は家にひきこもってます

gnuplotでランダムウォークをリアルタイム描画してみたい

Linux

そもそもgnuplotってなに?っという方々のために

d.hatena.ne.jp

これを使ってリアルタイムでグラフ描画をしてみたいと思います。

(リアルタイムって言葉結構好きなもんで)

ということで、まずgnuplotをpcにインストールします。

自分はUbuntuベースのElementary OSを使っているので

以下のコマンドで必要なツールをインストールしました。

sudo apt-get install gnuplot gnuplot-x11

これでgnuplotコマンドが使えるようになります。

gnuplot-x11パッケージもインストールしておかないとグラフ描画できないみたいです。

ということで準備が整いました

↓説明だったりサンプルプログラムはgnuplotのhpを参照ください

gnuplot homepage

↓日本語のインストラクションもあります

gnuplot tips (not so Frequently Asked Questions)

Gnuplot pm3d

参考リンクよりgnuplotの使い方は理解できましたでしょうか?




自分の場合はshellスクリプトランダムウォーク数値計算gnuplotの呼び出しを行いました。

以下にランダムウォークソースコードを張り付けておきます。

random_walk.sh
#!/bin/bash

#if file exsists, clear the file 
if [ -e "random_work.dat" ]
then
    cat /dev/null > random_work.dat
fi

i=0
x=0
y=0
echo "$i $x $y" >> "random_work.dat"

#start the process of gnuplot 
gnuplot -persist -e "config='config.plt'; plot 'random_work.dat' using 2:3 \
    ti 'random_walk' with points ps 1 pt 1" loop.plt &
gnu_pid=`echo $!`

#calculation of random walk
for ((i=1;i<1000000;i++))
do
    det_x=`echo $(((1+RANDOM%10)%2))`
    det_y=`echo $(((1+RANDOM%10)%2))`

    if [ $det_x -eq 0 ]
    then
        x=`echo $((x+1))`
    else
        x=`echo $((x-1))`
    fi

    if [ $det_y -eq 0 ]
    then
        y=`echo $((y+1))`
    else
        y=`echo $((y-1))`
    fi

    #input x and y value into the file 
    #echo "$i $x $y" 
    echo "$i $x $y" >> "random_work.dat"
done

#push enter to finish gnuplot 
echo -e "/n/nFinished plotting the data....press Enter key"
read
kill $gnu_pid
loop.plt
#!/usr/bin/gnuplot

#load config file
load config 
pause 0.1
replot
reread
config.plt
#!/usr/bin/gnuplot

#setting the graph
set xrange [-500:500]
set yrange [-500:500]
set xlabel "x"
set ylabel "y"

以下にソースコードの説明を記述しておきます。

  1. gnuplot -persist -e "config='config.plt'; plot 'random_work.dat' using 2:3 \ ti 'random_walk' with points ps 1 pt 1" loop.plt &

`gnuplot -e "command1; command2; ...."

なので、変数configの定義とplotコマンドを実行します。

それらに加えてloop.pltが別プロセスでよばれます。

  1. reread

によってloop.pltが再度呼ばれます

つまり、loop.pltは0.1秒間隔で実行されます

  1. config.pltとloop.pltはぶっちゃけ分ける必要はないですが、

 役割を分けた方が分かりやすいとおもったので、とりあえず。


random_walk.shを実行した時の動画リンクを以下に貼っておきます。

www.youtube.com


ということで以上となります。何かに使えましたらご利用ください。

【新入社員オススメ】仕事は楽しいかね?楽しいですけど!

Kindle Unlimited

訳あってKindle Unlimited再開いたしました。

サイバーマンデー2016で購入したKindle Paperwhite

便利すぎて、便利すぎて読書がすすむ君です。

それで最近仕事は楽しいかね?を読みましたよ。

非常に良いと思ったので感想をつらつらと...

仕事は楽しいかね?

これタイトルもったいなくないですか?

ぶっちゃけたところ、自分は現在の仕事を楽しんでおります。

まだまだ、勉強することは多々あるのは承知なのですが...

「えっ?仕事を楽しんでるんやったらその本読まんでもええやん!」

って思うでしょう?その本をはやく置けよ!って思うでしょう?

違うんです。楽しんでいるとしてもこの本は読んだ方がいいです!絶対に!

特に新入社員のうちに読んでおくのが良いのではないかと思います。

新入社員って環境に毒されるくないですか?

わたしは2016年卒の去年の4月に働き始めた入社1年目の社会人です。

入社直後のほとんどの新入社員って具体的でなくても

会社でこんなことがやってみたい!的な夢だったり希望であったりするでしょう?

でも、こんなんだったり

matome.naver.jp

こんなんだったり

careerpark.jp

少なからずなにか起きちゃうわけじゃないですか?

あるある的なやつがね

ただ、ある程度仕事を楽しんでいたとしても

会社の決まりとか慣習があって

それが当たり前になっていってしまう部分があると思うのですね。

全てをパターン化してしまって、このときはこれ。あのときはあれ。的な感じです

わたしは、その会社のお決まり的なものに毒されている部分あります

だって・・・

早く仕事覚えたいじゃあないですか!?

こいつできんやつって思われたくないじゃあないですか!?

ただ、「仕事はすきかね?」を読んでみてね

あ...自分は思考プロセスを固定化していってしまってるんだなって

そのように感じました。

さいごに

この本の初版が2001年なのでもう15年以上前の本なのですが

新入社員1年目にこの本にめぐりあえてよかったなって思います

この記事では引用をせずに、読んだ後の率直な感情だけを記しておきます

それでは

深夜特急読んだけどなんか思ったのと違う

海外

去年の5月に台南・高雄バックパッカーをして以来全く旅行にいけてないので

パッカーのバイブル?と呼ばれている深夜特急を読んで

少しでも旅をしている気分を味わおうと思ったのだけれど

なんか自分の思っていたものと違い結構ショックうけました...

( バイブルってちょっとハードルあげすぎではないですか??)

matome.naver.jp

 深夜特急Ⅰ 香港・マカオ編

香港・マカオ編は面白かったと感じました。

特に、著者が博打にのみこまれていくところ

自分は滅多に賭け事をしないのですが

やっぱり、赤の他人が落ちていくところを傍観するのは興奮しますよね

さすがに死までいったら笑えないのだけれども...

著者が博打に落ちていく己自身に寄っていた姿にどうも興奮を覚えました

だって、「他人の不幸は密の味」なのでしょう?

それに加えて、人の動きだったり環境の変化に対して感覚を研ぎ澄まし

戦略をたてて賭け事をする著者の様が非常にワクワク感をもたらせました。

 深夜特急Ⅱ マレー島・シンガポール

途中で読むのをやめました。

どうも、タイに訪れた時の著者が環境に対して文句をグチグチ並べるところにイライラしてしまいました

なぜ自分から行動しようとしないのか。なぜ自分から感謝しようとしないのか。

現地民からのおもてなしがないから心を開かなかったのでしょうか?

ここでの著者の感情は何かの伏線なのかもしれませんが

途中で読むのを辞めたのでモヤモヤが残った状態です

(読み続けたらムカムカするのだけれども...)

さいごに...

著者である沢木耕太郎さんが旅をした時代はどうなのかよく分からないのですが

わたしは、日本人が外国で醸し出す日本人感を本当に嫌っております

プライド?誇り?優越感?自尊心?

(なんとも表現しにくいのですが...)

確かに、外の環境で親切にされたら喜びを感じます。感謝します。

ただ、優しさを感じれないからといって環境に不満を述べるのはおかしいでしょう。

私たちも外国に行けばただの外国人でしょう?