忍者ブログ
日々の研究生活のメモ書きなど

(2010/11/22)
勢いでblogを作成してしまいました。

扱うテーマについては、C言語(たまーにc++も)、gnuplot、Debian、Macなどです
(これから他のジャンルに手を出していく可能性もあります)
メモ書き程度のものですが、同じことで悩んでいる方の役に立てれば幸いです

本業は学生で、物理屋を目指しています


( 2015/11/6 追記)
「bus error」「segmentation fault」で来られた方にはとてもイラっとするブログタイトルで申し訳ありません
bus error はファイルの入出力関連
segmentation fault は配列のindexまわりのエラーである可能性があるので、そこらへんをチェックしてください



PR

■ 前回の記事 : 【ポケモンGO】新しいジムシステムとレイドバトル雑感メモ




先週末に都会に行って、レイドバトルに参戦してきました

最初に感想をまとめると
* すっごい楽しかった
* 知らないプレイヤーと知り合いになるきっかけになる(逆にトラブルになることもあるが、それはプレイヤーの民度次第か)
* 田舎ではこのシステム、ゴミっすね(多人数プレイじゃないと☆3以上の敵は倒せない、☆3はまだ行けても☆4は無理)
* 報酬がうめぇ
* レイドバトルが来てる途中は、ポケストを回す以外の通常ジム戦が停止するのでジム確保してる側からしたら1時間は安泰で嬉しい
* ☆4でゲットできるポケモンが熱い、ただしゲットは至難な模様




都会で見かけた☆3~4のポケモンたち

バンギラス

カビゴン

ラプラス

ブースター

☆3~4で出るポケモン一覧は
■ 参考 : 【ポケモンGO】レイドタマゴ(黄色)から出現するポケモンまとめ!

☆1~2で出るポケモン一覧は
■ 参考 : 【ポケモンGO】レイドタマゴ(ピンク)から出現するポケモンまとめ!





近くで☆4のバンギラスが湧いたので出撃
現場についたら10~20人くらいはスマホ片手に立ち止まっている人がいたから、
あれはたぶんポケモンGOプレイヤーなんだろう


7人でバンギラス

あとで分かったけど、このバンギをしとめるのに7人掛かりでやっていたっぽい
自分の手持ちは5匹目まで突入してたので割と危なかったかもしれん・・・・

というか全力のパーティーで対戦できたら5匹目までいかなかったけど、
対戦の待ち時間中に、アプリが蔵落ちして、再起動するのに手間取ってたら
まともなPTを整えることなくレイドバトルに突入したという・・・・

クソガーーーーと思ってたら、横にいた知らないオタク風お兄さんも途中でアプリ落ちてて吹いた

ゲットする画面はいつもと同じ
ダメージ量やそのジムを取ってるかどうかなどでボールの個数が決まるらしい

バンギラスのはねる
やたらはねるバンギラスで、捕まえられなかった・・・・

ただ、アイテムは嬉しいものだった
横のお兄さんと少しだけ話したら、横の人はこのアイテムをもらってなかったので完全にランダムっぽいね

技マシンノーマル





■ 今日のバグ

ジムに入ったら、誰もいなかった

ジムに入ったらバグった その1

その直後に画面が暗転して

ジムに入ったらバグった その2


レイドバトル待機中の画面が自分のメダルと一致してない↓

成績

対戦数が一致してない
バトルガール
歩いた距離がちょっと違う(もしかしたら、レイドバトルが終わってから100m増えたのかも)
歩いた距離
捕まえたポケモンの数が違う
捕まえたポケモンの数






■ 相棒ポケモン

340km一緒に歩いたヨーギラスの飴が124個に到達した・・・
確か卵から3匹ヨーギラスが出て、野生で1匹ゲットとかだった気がする

340kmは長かったよ・・・・・

バンギに進化できる

次は図鑑埋め要員としてトゲピーと一緒に歩くか・・・・・























今週、ポケモンGOに大型アップデートらしきものが来た
ジムのシステムが新しくなったのと、レイドバトルというシステムが追加されたらしい

やっとポケモンGOのPVにあったシステムが実装されたらしい
(もうすぐ稼動1年経つぞ・・・・)
この分だと、伝説はまだまだかかりそう

もしレイドバトルで伝説ポケモン、たぶん最初は三鳥だろうけど、と対戦できるなら割と熱いな・・・




■ 2日くらいジムを触ってみて感じたこと

* 一人でジムを潰す場合は、以前のシステムの方が楽に倒せる
 相手のCPより上のポケモンを使う前提なら、1体倒すごとに500ptは確定で減っていたが今回は同じポケモンを4~5回倒さないといけないので回数が圧倒的に増えてる
 それに、毎回無駄なカットイン的なエフェクトが入るので時間がかかる
 たぶんこれ、マルチプレイヤーでやることを想定してるんだよね・・・
 1年経って実装するには遅過ぎた機能っすよ

* 蚊が多いので、外で20分くらい立ってプレイするのはきつい
 虫除けスプレー(リアル)が必須の時期

* 同じジムに同じポケモンを置けないのはかなりナイスなアプデだった
 好きなポケモンを置けるのはかなり嬉しい

* ジム上のポケストを回したときにもらえるメダル(?)的なものはコレクションアイテムっぽい
 もっと早く実装しろ、1年間で10個くらいの都道府県は回ったぞ

* レイドバトルが楽しみ
 倒したポケモンは手持ちになる + 特殊な報酬がもらえるらしい
 報酬の一つで、ポケモンのわざを変えられるらしいがこれは廃人泣かせな気がするが大丈夫なんだろうか?
 ドロップ率が極端に悪いとか?




■ レイドバトルメモ

昨日の早朝に家に帰ろうとしたら、まさかのジムに入れるようになっていたので
回り道しながら帰って、ジムを3つほど落としてきた・・・

そのときはまだレイドバトルに参加するためのTLが35だったので参加できなかった

レイドバトルまだ

段階的に31→28と下がっていっているので、そのうち全解禁されるんだろう
そっちはまだやったことないので、相手のポケモンのレベルがどれだけ高いのかはわからん・・・

一応、レイドパスはジムでゲットできた


レイドパス


近くのマクドでレイドバトルやってたときの説明キャプチャー


レイドバトル1

レイドバトル2


レイドバトル3

レイドバトル4

レイドバトル5



ジムは上にポケストが併設されている
自分チームがジムを取っているときはボーナスがあって割と美味い

ジム取ったときの画面


ジム

その直後に暗転してすごく小さいポケモンが見える(たぶん使ってたナッシーだと思う)バグ


バグ





ジムに自分のポケモンを置いたり、きのみをあげるとメダルがもらえる
きのみは自分のポケモンにあげたときと自分以外のポケモン以外では、回復量が違うっぽい(見た感じ)
連続できのみをあげ続けると、回復量はどんどん減少していく(この方式は上手いと思った)
連続であげられるきのみの個数にも上限があるっぽい(10個くらい?)


ジムリーダーメダル
きのみメダル


 







■ どうでも良い話

1週間くらい前に突然カビが湧いた

カビ


ポケモンGOってゲームは、
バグがありまくりで、アプリが10分おきに突然落ちるし、
CPU回りまくりで端末激熱のクソアプリだけど
トップ絵だけは毎回神(異論は認めない)
どんな神絵師さん雇ってんだよ

トップ絵

過去のトップ絵

トップ画像

トップ絵

トップ絵

トップページ

ポケモンGO










表(図)の表示場所を強制的にここにしたいときに
\begin{table}[H]
とかを使う
デメリットとして、
\begin{figure}[p]
とかの図(表)が先に表示されてしまって、順番が思っているものと変わること

そういうときは、
\clearpage
を使って、clearpageの前にある図が全部強制的に表示させる方法がある

これで、後ろの図や表が先回りして表示されるのを防げる














以下のソースだとcaptionがやたら近くなってしまう場合がある
\begin{figure}[htbp]
\begin{minipage}{0.5\hsize}
\begin{center}
\includegraphics[width=\hsize]{hoge.png}
\end{center}
\caption{
AAA AAAAA A BBB BBBB BBBB BBBB CCC CCC C C CCCCCC C DDDD DDDDD DDDDD D DDDD
}
\label{fig:hoge1}
\end{minipage}
\begin{minipage}{0.5\hsize}
\begin{center}
\includegraphics[width=\hsize]{hoge.png}
\end{center}
\caption{
AAA AAAAA A BBB BBBB BBBB BBBB CCC CCC C C CCCCCC C DDDD DDDDD DDDDD D DDDD
}
\label{fig:hoge2}
\end{minipage}
\end{figure}




そういうときは、parboxを使う
60mmとか80mmって数字は好みで変える
\begin{figure}[htbp]
\begin{minipage}{0.5\hsize}
\begin{center}
\includegraphics[width=\hsize]{hoge.png}
\end{center}
\caption{
\parbox[t]{60mm}{
AAAAAAAAA BBBBBBBBBBBBBBB CCCCCCCCCCCCCCC DDDDDDDDDDDDDDDDDDD
}
}
\label{fig:hoge1}
\end{minipage}
\begin{minipage}{0.5\hsize}
\begin{center}
\includegraphics[width=\hsize]{hoge.png}
\end{center}
\caption{
\parbox[t]{80mm}{
AAAAAAAAA BBBBBBBBBBBBBBB CCCCCCCCCCCCCCC DDDDDDDDDDDDDDDDDDD
}}
\label{fig:hoge2}
\end{minipage}
\end{figure}

■ 参考 : LaTeXのcaptionサイズ



比較画像↓
(このTeXソースだと全然captionが近くないね・・・・)

TeX










TH1D *h2 = new TH1D("hoge","", nbin, min, max);

h2->SetName("NameNamaName");
h2->SetTitle("TitleTitleTitle");

ヒストグラムを作るときに、hogeと書いてしまったところをあとで書き換えるには、
SetNameを使う

また、左上に箱を用意して何か書く場合はsetTitleを使う











セッションに接続する前に
tmux rename -t old_name new_name
みたいな感じ


またはセッションに接続した状態で
Prefix + $
これで
(rename-session) old_name
みたいな風に表示されるのでバックスペースで消して、new_nameと入力すればOK














#セッション名を付けてセッションを立ち上げる
# この場合は hoge
tmux new -s hoge

Prefix + dでセッションをデタッチ(一時的終了みたいなもの)

その後で、もう一度セッションに接続するときは
# 今あるセッションを確認する
tmux ls

# hoge というセッションに接続
tmux a -t hoge


絶対に覚えられないからalias作ろう・・・・

tmnew と tmcon でどうだろう?

tcshの場合は、
alias tmnew 'tmux new -s \!*'
alias tmcon 'tmux a -t \!*'
みたいな感じで











gnuplotでfittingをする方法は以前まとめた

■ 過去記事 : 【gnuplot】を使ってヒストグラムをRayleigh分布でfittingしてみる




このfittingの出力結果を取り出してさらに別のところで使いたい・・・・
fittingした結果を毎回、手でメモって代入する方法では5000個とかfittingするときに骨が折れるので・・・・

■ 参考 : 変数や関数のファイルへの書き出し(save)

これを参考にしてgnuplotで、
f(x)=a*exp(-(x-b)*(x-b)/2.0/c/c); a=10000; b=0.001; c=1
fit f(x) "hist.txt" u 1:3 via a, b, c

plot [:][0.001:] f(x), "hist.txt" u 1:3

save variables "test.var"
とすると、以下のようなファイルが生成されるはず
#
#
# G N U P L O T
# Version 5.0 patchlevel 3 last modified 2016-02-21
#
# Copyright (C) 1986-1993, 1998, 2004, 2007-2016
# Thomas Williams, Colin Kelley and many others
#
# gnuplot home: http://www.gnuplot.info
# faq, bugs, etc: type "help FAQ"
# immediate help: type "help" (plot window: hit 'h')
GNUTERM = "qt"
a = 23470.5784871032
b = -0.788993648242623
c = 17.8279442010367
GPFUN_f = "f(x)=a*exp(-(x-b)*(x-b)/2.0/c/c)"
x = 0.0
FIT_CONVERGED = 1
FIT_NDF = 97
FIT_STDFIT = 74.9163111531704
FIT_WSSR = 544408.006649469
FIT_P = 0.0
FIT_NITER = 6
a_err = 20.6412240133938
b_err = 0.0181088448166268
c_err = 0.0181088509499784
# EOF



あとはシェルスクリプトの中でこの値を取り出したいときは、
var_a=`grep "^a =" test.var | awk '{print $3}'`
var_b=`grep "^b =" test.var | awk '{print $3}'`
var_c=`grep "^c =" test.var | awk '{print $3}'`
みたいな感じで取り出せるはず




参考までに、
もう一度gnuplotを起動して
load "test.var"
とすると、
先ほどの変数たち a, b, cとかfittingのエラーとかがそれぞれの変数に代入されてるはず










999.9km
からの

1000km

ついに1000km歩きました
これで、自分も立派なポケモンGO修行僧になれた気がします(嬉しくない)



カントー図鑑の方はまだエビワラーのみ揃わず
かれこれ8ヶ月くらいこの状態だわ

カントー図鑑

あと最近やっとCP3000超えのポケモンを用意できました

サイドン





これまでにポケモンGO運営がやったイベントをまとめた
他のソーシャルゲームではこの規模のものをイベントとは絶対に言わないと思うけどイベントっていうことにしておく

自分の感想としては
・帽子を被った(だけの代わり映えしない)ピカチュウはいらない・・・

・最低限イベント開催の1週間以上前には告知してよ
 しかも公式twitterでチョロっと情報流すだけじゃなくて、アプリ起動時に告知するとかしろよ
 そのせいで「え、今ってイベント中なの?」ってプレイヤーがいると思う

・半年以内で第二世代(金銀)実装は正直嬉しかったけど、もうそのときにはすべて手遅れだった

・3つの陣営に分かれてプレイしてるけど、ジム以外でその区別が活かされていないので
 イベントに陣営要素を取り入れてほしい
 もし3つの陣営で赤と青だけあまりに多い(というか実際そうだと思うけど)なら、均一になるような工夫をする

・イベントと呼ばれているものの内容が薄すぎる
 もっと射幸心を煽るようなことを考えられないのか?

・「相棒ポケモンに設定して、10km歩くと肩に乗るようになる」とかは良かったけど、そういう工夫が随所に欲しかった
 それできるの一部のポケモンだけだし・・・

・アプリがアプデを重ねるごとにゲロ重くなっていく
 バッテリーの消費量がキチガイなため、1時間以内にバッテリーが空になる
 マップ出して歩いてるときに、左下の自分キャラが瞬きしたり、相棒ポケモンが上下に揺れる無駄な演出いる?
 下見ながらプレイするな、って告知するならそういう無駄な演出いらないじゃん


 

・ハロウィンイベント
 2016年10月26日〜11月2日
 捕まえたときのアメが3個から6個になる
 博士に送るともらえるアメが2倍になる
 孵化時にもらえるアメも2倍になる
 相棒ポケモンの距離が1/4倍
 不気味なポケモン(ゴース、ガラガラ、ズバット、スリープ、ニャースなど)の出現率がアップ

・東北でラプラス出現頻度アップ
 2017年11月11日〜23日
 地域限定イベント

・感謝祭イベント
 2017年11月23日〜30日
 獲得経験値が2倍
 ほしのすなが2倍

・サンタピカチュウ出現
 2016年12月13日〜31日

・年末イベント
 2016年12月26日〜2017年1月3日
 毎日ポケストでふかそうち1個配布(1回しか使えない特別仕様)
 サンタピカチュウが出現
 卵からベイビィポケモンの出現率アップ

・金銀ポケモン実装
 2017年2月17日〜

・帽子を被ったピカチュウが一時的に出現
 2017年2月27日〜3月7日
 
・熊本限定でカビゴン出現頻度増えた
 2017年3月4日〜13日
 地域限定すぎ

・水タイプの出現頻度が増えた
 2017年3月23日〜30日
 着せ替えアイテム「コイキング帽子」追加
 金の色違いコイキングが出現(これはその後常設になった)

・バレンタインなのでピンク色のポケモンの出現頻度増やしました
 2017年2月9日〜16日
 相棒ポケモンの歩数が1/4
 アメの入手量が2倍

・イースター
 2017年4月14日〜21日
 経験値が2倍
 2km卵の孵化種類が種類が増えた

・草タイプの出現頻度が増えた
 2017年5月6日〜8日
 (期間短・・・)
 ルアーモジュールの効果が6時間に延長

・ゴールデンウィークイベント
 2017年4月29日〜5月7日
 マクドのルアーモジュールが6時〜24時まで常に炊かれている

・岩ポケモンがよく出る
 2017年5月18日〜25日
 相棒ポケモンの歩数が1/4














面白そうなページを見つけたのでメモ

■ 参考 : Mathematica Code

他にも特殊関数に関してあれこれプロットしているページもある











それぞれgamma(x)とigamma(a, x)とかで呼び出せる

ヘルプは以下のような感じ
gnuplot> help gamma
The `gamma(x)` function returns the gamma function of the real part of its
argument. For integer n, gamma(n+1) = n!. If the argument is a complex
value, the imaginary component is ignored.

gnuplot> help igamma
The `igamma(a,x)` function returns the normalized incomplete gamma
function of the real parts of its arguments, where a > 0 and x >= 0.
The standard notation is P(a,x), e.g. Abramowitz and Stegun (6.5.1),
with limiting value of 1 as x approaches infinity. If the arguments
are complex, the imaginary components are ignored.









5521bdb4


なので、自分で用意する

一応
M-x revert-buffer
ってのでもファイルを読み込み直すことはできるけど、
リターン -> yes -> リターンと手間がかかる・・・
(自分の場合は(defalias 'yes-or-no-p 'y-or-n-p)としているのでyでいけるけど、やっぱりめんどくさい)


ググったら色々と出てくる

■ 参考 : Emacsで現在開いてるバッファを再読込する
(defun revert-buffer-no-confirm (&optional force-reverting)
"Interactive call to revert-buffer. Ignoring the auto-save
file and not requesting for confirmation. When the current buffer is modified, the command refuses to revert it, unless you spec\
ify
the optional argument: force-reverting to true."
(interactive "P")
;;(message "force-reverting value is %s" force-reverting)
(if (or force-reverting (not (buffer-modified-p)))
(revert-buffer :ignore-auto :noconfirm)
(error "The buffer has been modified")))

;; reload buffer
(global-set-key (kbd "<f5>") 'revert-buffer-no-confirm)
って感じでF5に割り当てておいた
C-c C-rとかにしてるサイトもあって、それにしようとしたけどなんかうまくいかない・・・・


注意することは、このrevert-bufferというのは今やってる編集を捨てて、ファイルを開き直すことになるので
今やってる修正を残しておきたいときは別に保存しておかないといけない

そういうことまでケアしてるショートカットも一応用意できるらしい

■ 参考 : RevertBuffer











■ 参考 : x軸が共通のplotを複数並べる場合(stacked plots by multiplot w/ set origin, set size)

ここに何例か、実際のコード付きで載っている


■ 参考 : Gnuplot で複数のグラフを並べる方法

こっちは横に2枚のグラフを並べるとき

■ 参考 : 2次元プロットのあれこれ (その6)





2つめのページでは、2枚を並べるときの余白の調整をmarginでやるとずれるのでやめた方がいいって書いてある
ただ、これについてはmarginがないとlabelとか軸に付いてる数字がグラフの範囲外にはみ出ることがあるので
やはり微調整をset bmarginとかset tmarginでやって方がいいんじゃないかなァ〜と自分は思う・・・

そのうち、実例とともに記事にしたいけど、今回はブックマーク整理のためのメモ記事で










ご無沙汰しています
まずは近況報告
ちょい前に就職活動を熱心にやっていました
そして、すべて華麗に滑りました
(ここに書いてるのはポスドクとかの研究職ではなくて、一般企業の求人です
研究職への応募は出してるけど、こっちも全滅ですね 圧倒的に力量不足ですね そもそも学位がないし)


戦績は
* 書類で落ちたのが数件
* 最終面接に呼ばれたのが3件
* 最終面接で落ちたのが3件
といったところ

初めての最終面接は、圧倒的な準備不足で落ちました
後で思い返すと、完全に舐めてたし、初めてのことなので緊張しまくって沈没
面接で話した相手も自分でも知ってる方だったので、さらに緊張が加速
まぁ初めてだったので、敵を知るいい機会にはなったと思う


2回目は完全に準備して行ったけど、ダメだった
落ちた理由がまったくわからん
会社のある場所に面接で2回訪れたけど、実家からも数時間の範囲なのでできればそこで勤めてみたかった・・・
面接が終わって合否の連絡が来るのを今か今かと待っていたけど、
結果落ちていることがわかったときはかなーーり落ち込んだ・・・・


3回目のは九州の方に呼ばれた
実はその会社の別の求人にはすでに2回くらい応募してて、どちらも書類選考の時点で跳ねられていた(それらの勤務先は関東の方)
今回の募集は過去の2回とはちょっと毛色が違うやつで、科学に詳しい人ウェルカムって感じの募集だった
で、面接で1時間くらい話して帰る直前に
「ところで、次の面接はいつ頃ですか?」って聞いたら「これが最終面接ですよ^^」って言われて泣きそうになった
いや、最初に言ってくれよ・・・・
そんな情報どこにも書いてねーじゃねーかよ・・・と
別にそれが落ちる原因になったわけではないだろうけどね・・・

そんな感じで全滅したのが3月頃の話で、何の戦果も得られませんでした
3件とも普段は行かないところに行ったのでそういう意味で収穫はあった

それぞれ一人で飲み屋を回ってきたけど、
2件目のは、生姜醤油のおでんが初体験でとても美味しかった
780円でビール+おでん数品+つきだし という飲み屋が最高だった・・・
しかも店員さんとじゃんけんして勝ったら、ビール2杯目が無料

780円
780円で席を立つのが惜しいくらい美味かったので、追加の穴子の天ぷら頼んだ
これも美味かった
穴子の天ぷら


あと3件目の九州は、明太子が美味すぎた
1500円くらいのやつだったけど、今まで食べたことないレベルで美味かった


ここでも一人で飲み屋を探したけど、料理で食べた明太子はそんなに美味くなかったな・・・
あぶり明太子






あと3月末からバイトを始めました
あまりにお金がないので・・・・
週2~3日くらいが良かったけど、都合により今は週1
バイトに力を入れすぎると、本業がおろそかになるのでこれくらいでいいのかもしれん
バイトにいくとリフレッシュになるのもいい


で、少しばかりの収入(1ヶ月の食費くらいは賄える?)はできたので支出を抑えたい
趣味に使うお金は削ると精神を病みそうなので、食費削るか・・・と思ってパスタをいっぱい買ってきました

業務用スーパーで 5kg 939円
1食150g食べるとしたら、1食~29円

上にかけるトッピング的なものは小包装でほとんど見かけないので、工夫する
「具なしパスタ」とかでググってみるとたくさん出てくる

一番この中で気に入っているのは、永谷園のさけ茶漬けをかけるやつ
200円で6袋入り
ほんとケチるなら、2回にわけて使うこともできる
1袋で~33円 (パスタより高いぞ・・・)

で、合計62円
朝と夜にこれだけを食べる計算でいくと、1ヶ月3720円
恐ろしい安さ


で、4月頭に上記の発想に至って、パスタ生活をしていました
2~3週間ほどんど野菜を食べずにパスタばっかり食ってました(飲みに行ったときに横にある野菜を食べたくらい?)
ゴールデンウィークが終わって、5/8あたりからずっと頭が痛い
シャワーをしたり、冷えピタを貼ると少しだけ楽になるし、バファリンを飲むと消えるから
なんとか生活してた(研究には全然集中できん)

1週間して、もしかしてこれ・・・野菜食べてないせいじゃね?と思って、近くの野菜大盛りのちゃんぽん食べにいったら全快

人はパスタだけでは生きられない・・・
これからはカット野菜を冷蔵庫に常備しておくわ・・・・






今月に入ってKMMT大学からのアクセスがやたら多い・・・(昨日は34件)
授業とかで「このサイト、便利じゃねー?」ってなってくれてるならおじさん嬉しいです





このブログのサイドバーにあるリンクを更新しました〜
便利なページとか好きなページを追加しといた


特に感動したのが

英語例文を見て自然に英語・英会話を学ぶ
(楠本慶ニさんの個人ページ、様々な情報の密度の高さに感動)




いつの間にかブックマークの中にあったので、整理がてら眺めてみたらすごい。
英語に関して、論文で使えそうなフレーズがとても分かりやすいまとめられている

あとは映画好きらしくて、おすすめの映画1000本がリストアップされてた
最近の映画もカバーされていた
会ったことはないけど、映画に関しては一家言あるので一度お酒を飲みながら語り合いたいわ


あとはこれも面白かった
同じサイトの別のページ

世界のありがたい名言・格言のサイト








ホント感動した・・・
こんな図がgnuplotでも作れる
(正確にはシェルコマンドで綺麗に整形したデータをプロットしてるだけだけど・・・そこは野暮か・・・)

hoge
■ 参考 : Plotting raster data from Natural Earth


プロットするためのコマンドは、
■ 参考 : プロットコマンド

プロットに使うデータは、
■ 参考 : プロットに必要なデータ


このデータは convert_natural_earth.sh という(おそらく)自作のスクリプトで作られている
使い方も書いてあるけど、元の世界地図のTIFデータ(?)がないと使えない・・・・
■ 参考 : convert_natural_earth


上記のデータよりももうちょい解像度が高いデータはgithubにあった

■ 参考 : もうちょい解像度が高いデータ


これで書いたのが以下、

hoge2


関係ありそうな記事リンク

■ 参考 : Plotting the world

■ 過去記事 : 【gnuplot】塗りつぶしプロット

■ 過去記事 : 【gnuplot】world.datを活用したい









(2017/05/22 追記)

TIFファイルという地図データは

■ 過去記事 : 1:50m Raster Data - Natural Earth

からダウンロードできるっぽい

上にリンクを貼ったデータはそれぞれ
・Cross-blended Hypsometric Tints
・Natural Earth 2
からダウンロードされたデータを加工したもの


加工するためのシェルスクリプト convert_natural_earth.sh をダウンロードしてきたTIFファイルにかけても、エラーが出ておかしなデータが出てきてしまう・・・
原因はMacのsedとLINUXのsedが違う挙動をすることで、
extra characters at the end of N command
みたいなエラーが出てくるが、
これはMacのsedで-iとするときはバックアップのファイルのための拡張子を指定しないといけないらしい
なので以下ではsed -i '.bak'と置き換えた

あとはpm3dのために、適時空行をいれないといけないが、元々のソースコードにあったsedではうまく動かなかったのでawkで代用

途中で257で割っているのは、RGBの値がきちんと取得できていないので、よくわからんが257で割っている
時間をかけたらうまくできそうだけど、めんどくさいからいいや・・・・


#!/bin/sh

# data : http://www.naturalearthdata.com/downloads/50m-raster-data/

if [ $# -ne 2 ]; then
echo "usage : `basename $0` [resolution] [inputfile]"
exit
fi

RES="$1"
IN="$2"
SCALED="${IN%.tif}_${RES}px.tif"
OUT="${SCALED%.tif}.txt"

# resize tiff image to desired resolution
convert "$IN" -resize $RES "$SCALED"

# convert to txt file
convert "$SCALED" "$OUT"

# remove unneeded header
sed -i '.bak' '1d' "$OUT"

# replace ": (" with ","
sed -i '.bak' 's/: (/\,/' "$OUT"


# remove all unneeded entries at end of line
sed -i '.bak' 's/).*$//' "$OUT"


# convert longitude and latitude to the right values
# 0..RES => -180..180
# 0..RES/2 => -90..89
awk -F, -v res=${RES} '{$1=$1*360/res-180; $2=-1*($2*360/res-90); }1' OFS=, "$OUT" > tmp.txt
awk -F, '{print $1, $2, $3/257, $4/257, $5/257}' OFS=, tmp.txt > tmp2.txt
mv tmp2.txt ${OUT}
rm tmp.txt


# add blank lines for pm3d
awk -v n=${RES} '{print $0} NR>2 && 0==NR % n{printf "\n"}' ${OUT} > tmp.txt
mv tmp.txt ${OUT}

# add new header
awk 'BEGIN{print "# long, lat, r, g, b"} {print $0}' ${OUT} > tmp.txt
mv tmp.txt ${OUT}

rm *.bak
これならMacでも動くはず・・・・

n=2000 でプロットしたのが以下の図
この図の上に色々なものを書いていきたい

pic_NE2_50M_SR_W_2000px

pic_HYP_50M_SR_W_2000px














ただのメモ


■ 参考 : Bending the arrows - "delaying" the plot
eps = 0.001

set style arrow 1 head filled size screen 0.03, 15, 45 lt -1
cut(x,x1,x3) = ((x >= x1 && x <= x1 + (1.0-eps)*(x3-x1)) ? 1.0 : 1/0)
f(x) = 0.5+(x-1)*(x-1.2)*(x-1.4)

x1 = 0.5
x3 = 1.95
new_x = x1 + (1.0-eps)*(x3-x1)
set arrow from new_x, f(new_x) to x3,f(x3) as 1
plot [0:3] sin(x) with point ps 1 pt 6, f(x)*cut(x,x1,new_x) with line lt -1

普通にset arrow 1とかで矢印を書くと、直線の矢印しか書けない
ので、ここでは定義したf(x)って関数の一部だけをプロットしたものに、擬似的に矢印の先っぽをくっつけて曲がった矢印を再現してるんだと思う・・・(たぶん)


うちの環境ではリンク先と同じプロットはできなかった・・・
なぜか矢印の矢じりの部分が表示されない・・・・












\usepackage{tabularx}

\renewcommand{\arraystretch}{1.3}
\begin{table}[H]
\begin{center}
\caption{table test}
\label{table:table_test}
\vspace{10pt}
\begin{tabularx}{\linewidth}{|X|X|}
\hline
channel name & explain\\
\hline
\verb+hoge+ & AAAAAA BBBBBBBBB CCCCCCCCCCCCC DDDDDDDDDDDDD \\
\verb+hoge+ & AAAAAA BBBBBBBBB CCCCCCCCCCCCC DDDDDDDDDDDDD \\
\verb+hoge+ & AAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\\
\hline
\end{tabularx}
\end{center}
\end{table}
\renewcommand{\arraystretch}{1}
で、こんな感じ


tex table

\renewcommand{\arraystretch}{1.3}
で、texのセル同士の間隔を1.3倍にする
\renewcommand{\arraystretch}{1}
でもとに戻す

■ 過去記事 : 【TeX】表に式を入れていい感じの行間にしたい



セル内で自動的に改行してほしいときは、
\begin{tabular}{|c|c|}
ではなくて、
\begin{tabularx}{\linewidth}{|X|X|}
を使う
Xのセルが自動的に改行される

ただし
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
のようにスペースのない長い文章は改行されないっぽいので注意









次の3枚の画像を1枚の画像としてまとめたい

poissonrayleighgaussian


やり方は
1. Macのプレビューで全部開く -> 印刷画面 -> レイアウト -> ページ数/枚を4枚とかに変更 -> 左下のPDFボタンから画像出力する
2. montageコマンドを用いて1枚にする


1の方法は書いてある文章の通り

2の方法のコマンドはこんな感じ
montage -tile 3x1 -geometry 1080x720 *.png hoge_3x1.png

hoge_3x1
montage -tile 1x3 -geometry 1080x720 *.png hoge_1x3.png
hoge_1x3
montage -tile 3x2 -geometry 1080x720 *.png *.png hoge_3x2.png
hoge_3x2■ コマンドの簡単な説明
montage [オプション] 入力画像の名前(複数) 出力画像の名前
というのが使い方

-tileは何枚ずつ並べるかを指定できる
上のを見てもらうとわかるように [横に何枚か] x [縦に何枚か] で指定

*.pngというようにワイルドカードも使える
ワイルドカードを使わないなら、hoge1.png hoge2.png hoge3.pngのように並べて書く
1x3の場合は並べる画像のファイルを3つ指定した後のファイル名が出力ファイルになる
今回はhoge.png

-geometry 1080x720は出力する画像のサイズを決められる

入力画像のサイズは統一しておくと便利
また、画像のサイズを知りたいときはidentifyコマンドで
% identify rayleigh.png
rayleigh.png PNG 1080x720 1080x720+0+0 8-bit sRGB 22.6KB 0.000u 0:00.000





他にはImageMagic関連のconvertコマンドのメモは以下から

■ 過去記事 : 【convert】png画像からgif画像を作るには
















こんな感じでOK
[ ]の中はすべて半角スペースで区切る
[ と !の間にスペース、$FILEのEと]の間のスペースを忘れるとエラーで怒られる
if [ ! -s $FILE ]; then
# ファイルサイズが0のとき
fi





似たようなのでこんな記事もある

■ 参考 : 【シェルコマンド】ファイルサイズが0のファイルを削除する












やりたいことは
文章前半に出てきた式(19)という式番号を何らかの変数に代入して保存
文章後半で、その式をもう一度書いて、そのときの式番号を(19)にしたい


一応、これを簡単にできる方法は過去の記事にまとめた(約6年前に)

■ 過去記事 : 【TeX】数式番号に章番号を付加・途中の式番号から

■ 過去記事 : 【TeX】数式番号を途中から(2)
\begin{align}
 A=B
\end{align}
% 上記の式番号が(19)

% 中略

\setcounter{equation}{18}
\begin{align}
 A=B
\end{align}
% 式の内容は上記の式(19)と同じなので、この式にも(19)と付けたい
\setcounter{equation}{30}
% 30は適当に書いたので、この式の直前の番号ときちんと接続する数字を書く
この方法でもとりあえず目的は達成できます(上の記事ではこの方法について書いてる)
ただ、19とか30って数字は中略の部分に文章に当たらしいい式を追加したらずれてしまう
なのでまた修正しないといけない・・・・・
めんどくさいし、たぶんミスる・・・・


そ こ で 、
最初の式(19)の直前に現在の式番号を変数に代入して保存しておく
それを2度目の式(19)のときに\setcounterで代入してやれば、特に何も気にする必要がなくなるはず

ただ、\setcounterで値を設定できるのはequationとかsectionとかデフォルトで入っている変数のみ
どんな変数があるかは以下にまとめられていた

■ 参考 : カウンタ


ユーザーが新しくカウンターを用意する方法は、
\newcounter{hoge1}
\setcounter{hoge1}{5}
みたいな感じでOK
これでhoge1というカウンターに5を代入できる
また、hoge1というカウンタに入っている数字を参照するときは、\value{hoge1}のようにする



これを使って、上記の式を書き直すと、
% hoge1とhoge2というカウンタを用意する
\newcounter{hoge1}
\newcounter{hoge2}

% 式(19)の前にhoge1に今の式番号を保存、18が代入されているはず
\setcounter{hoge1}{\value{equation}}
\begin{align}
 A=B
\end{align}
% 上記の式番号が(19)

% 中略


% setcounterで式番号を18にする前に、現在の式番号をhoge2に保存しておく、後で元の数字に戻すときに使うので
\setcounter{hoge2}{\value{equation}}
% ここでequationに18を代入する、これで次の式が(19)になる
\setcounter{equation}{\value{hoge1}}
\begin{align}
 A=B
\end{align}

% 式番号を元の数字に戻す
\setcounter{equation}{\value{hoge2}}
これで、中略の部分に式を追加しても特に新しくここを修正する必要はなくなった
















\newcommand{\lbar}{\lambda \kern -0.5em\raise 0.5ex \hbox{--}}

■ 参考 : LaTeXでラムダバーを表示する方法 [ TeX ]

とか
\newcommand{\lambdabar}{{\mkern0.75mu\mathchar '26\mkern -9.75mu\lambda}}

■ 参考 : How can I type “lambda-bar”?

とか
\usepackage{txfonts}
$\lambdabar$

3番目の方法は、txfonts.styが入ってなくてダメだった












{\bf {\it n}}
ではできないので、
\boldsymbol n
を使う



こんな感じ↓

bf

■ 参考 : 5.9 数式モードにおけるボールド体


















よくアクセス解析をしてると、URLの中身が%に置き換わってたりして何書いてるのか全然わからないことがある・・・

そういうときは、以下のページに入力すると変換して見やすくなる


■ 参考サイト : URLエンコード・デコードフォーム

例として、この記事のURLは次のように変換される
http://coffee.guhaw.com/Entry/697/
  ↑
  ↓
http%3a%2f%2fcoffee%2eguhaw%2ecom%2fEntry%2f697%2f





ググったら、これはnkfコマンドとかを使えば同等のことができるっぽい
echo 'http://coffee.guhaw.com/Entry/697/' | nkf -WwMQ | tr = %
  ↓
http%3A%2F%2Fcoffee%2Eguhaw%2Ecom%2FEntry%2F697%2F

また、逆は、
echo 'http%3a%2F%2Fcoffee%2Eguhaw%2Ecom%2FEntry%2F697%2F' | nkf -w --url-input
  ↓
http://coffee.guhaw.com/Entry/697/









condorに関する過去記事

■ 過去記事 : 【condor】について調べたのでメモ


■ 過去記事 : 【condor】shared libraryを使ったプログラムをジョブに渡すとき





condor_rmのヘルプを見るとタイトルと関係あるオプションを見つけてしまった
(スペースとタブが潰れたので見にくい・・・)
Usage: condor_rm [options] [constraints]
 where [options] is zero or more of:
  -help Display this message and exit
  -version Display version information and exit
  -long Display full result classad
  -totals Display success/failure totals
  -name schedd_name Connect to the given schedd
  -pool hostname Use the given central manager to find daemons
  -addr Connect directly to the given "sinful string"
  -reason reason Use the given RemoveReason
  -forcex Force the immediate local removal of jobs in the X state
     (only affects jobs already being removed)
 and where [constraints] is one of:
  cluster.proc Remove the given job
  cluster Remove the given cluster of jobs
  user Remove all jobs owned by user
  -constraint expr Remove all jobs matching the boolean expression
  -all Remove all jobs (cannot be used with other constraints)


単体のジョブを消すときは、
condor_rm [ID]

自分が投下したジョブをすべて止めるときは、
condor_rm [user name]
 または
condor_rm -all


condor_rm -constraint
で、条件文を書いてそれにmatchしたジョブだけを取り消せるらしい
ちなみに-constraintは-constと省略することもできるっぽい

条件文は、
condor_rm -const 'ClusterId > 3880'
な感じで書く
condor_qで表示されるジョブIDはClusterIdと呼ばれるらしい(CとIは大文字)

この変数名を探すのにかなり苦労したが、
condor_q -long | grep "3571"
みたいな感じで調べた
他にもやたら変数がセットされてるっぽいので、それらも使えるかもしれない(試してないけど)





















プロフィール
HN:coffee
職業:物理屋(自称)
趣味:映画鑑賞
自己紹介:
#include <stdio.h>
#include "MyProfile.h"

#define TWITTER coffee_pote

int main(void){

printf("\n");
printf("過去記事でリンクしていた画像を忍者ブログからflickrへ移転、これですこしは見やすくなったかも\n");
printf("\n");
printf("猿でもわかるgnuplot を執筆中(何も進んでいない・・・・)\n");
/* 最終更新 2016/11/25 */
return 0;

}
カウンター
ブログ内検索
feedlyボタン
follow us in feedly
twitter
Flickr

Template "simple02" by Emile*Emilie
忍者ブログ [PR]