2018年が終わる.....
ぬぁぁぁぁ!!!
(何かしら残しておきたかった。)
絶対に毎日とか、何日おきと決めても投稿サボるのが目に見えているけれど、1年に一回は更新したいよね。
今年もあと少しで終わり。来年に期待ということで。
お蕎麦をずるずる。
2018年12月31日月曜日
2017年12月30日土曜日
2017年がおわるわけですが。。。
ものぐさな性格なので、前の更新が実に1年以上前。
意外にもコンスタントにアクセスがあるこのブログ。
皆さんの目当てはgnuplotで縦線を引くことみたいですね。
頑張っていっぱい縦線をグラフの中に引いてください。
ちなみに記事を公開したのは2013年なので、gnuplotのバージョンが上がれば使えなくなっちゃうかもしれません。
そんな2013年にはなかったネットサービスがたくさん増えてきましたね。
instagramとかあったんだろうけど、知らなかったし。。。
まだ、youtubeよりniconicoの方が優勢な時代だったかな?どうだろう?
(つい先日niconicoで色々あったようですね。⇨ これを見ろ!
ちなみに私がniconicoに登録したのはニコニコ動画(RC2)という時代の時です。古いね。)
プログラミング界隈ではswiftとかいう言語が登場してきました。
Objective-Cはもうなくなってしまったの?
iOS向けのアプリの開発はやりやすくなってきたのでしょうか?
(一度も作ったことないんだけどね!)
いろんなプログラミングが流行る中、台頭してきたのはPythonでしょうか?
AI技術に後押しされて、続々とPythonianが増えているような気もします。
私も、別にAIのためではなく、簡単なプログラムを描くときはpythonを使っています。
悩みのタネはfor分をいかに回避するかですね。
forを含む項目はC++で書いてlibraryにしてしまうのがbestなのでしょうけど。
プログラマのための技術共有サービスであるQiitaには一時期AI系の記事が連日のように投稿されていましたね。
私もAIというか、機械学習について勉強してみようと思ってはいるのですがなかなか手を付けられずにいます。
いつか、勉強できたら自身の理解度をお披露目していけたらと思います。
さてさて、目的もなくダラダラと書いてきましたが、多分だーれも読んでいないのでしょう。
なぜそんなことを言うのかというと、gnuplotの記事などプログラミングの記事以外ではほとんどアクセスがないから!
寂しいですが、日記ということで付けておきましょう。
多分googleが滅ばない限りはこの内容は一生残るのでしょうね。
久しぶりに管理者画面にloginしてみたら、domain買わないかと言われました。
1年に1回更新するかしないかのブログなのにね。
料金表を下に貼っておきましょう。
.digitalとか4000円もするのはなぜ?
そんな人気なdomainなのかな?

2017年最初にして最後になるであろう記事。
2018年はどんな年になるのかな。良い年?悪い年?
ちなみに今年は良い年だったかな?
大きなポカをやらかしたけど、まぁ好き勝手やった結果だから、あまり後悔はなかったからね。
それじゃ。
意外にもコンスタントにアクセスがあるこのブログ。
皆さんの目当てはgnuplotで縦線を引くことみたいですね。
頑張っていっぱい縦線をグラフの中に引いてください。
ちなみに記事を公開したのは2013年なので、gnuplotのバージョンが上がれば使えなくなっちゃうかもしれません。
そんな2013年にはなかったネットサービスがたくさん増えてきましたね。
instagramとかあったんだろうけど、知らなかったし。。。
まだ、youtubeよりniconicoの方が優勢な時代だったかな?どうだろう?
(つい先日niconicoで色々あったようですね。⇨ これを見ろ!
ちなみに私がniconicoに登録したのはニコニコ動画(RC2)という時代の時です。古いね。)
プログラミング界隈ではswiftとかいう言語が登場してきました。
Objective-Cはもうなくなってしまったの?
iOS向けのアプリの開発はやりやすくなってきたのでしょうか?
(一度も作ったことないんだけどね!)
いろんなプログラミングが流行る中、台頭してきたのはPythonでしょうか?
AI技術に後押しされて、続々とPythonianが増えているような気もします。
私も、別にAIのためではなく、簡単なプログラムを描くときはpythonを使っています。
悩みのタネはfor分をいかに回避するかですね。
forを含む項目はC++で書いてlibraryにしてしまうのがbestなのでしょうけど。
プログラマのための技術共有サービスであるQiitaには一時期AI系の記事が連日のように投稿されていましたね。
私もAIというか、機械学習について勉強してみようと思ってはいるのですがなかなか手を付けられずにいます。
いつか、勉強できたら自身の理解度をお披露目していけたらと思います。
さてさて、目的もなくダラダラと書いてきましたが、多分だーれも読んでいないのでしょう。
なぜそんなことを言うのかというと、gnuplotの記事などプログラミングの記事以外ではほとんどアクセスがないから!
寂しいですが、日記ということで付けておきましょう。
多分googleが滅ばない限りはこの内容は一生残るのでしょうね。
久しぶりに管理者画面にloginしてみたら、domain買わないかと言われました。
1年に1回更新するかしないかのブログなのにね。
料金表を下に貼っておきましょう。
.digitalとか4000円もするのはなぜ?
そんな人気なdomainなのかな?

2017年最初にして最後になるであろう記事。
2018年はどんな年になるのかな。良い年?悪い年?
ちなみに今年は良い年だったかな?
大きなポカをやらかしたけど、まぁ好き勝手やった結果だから、あまり後悔はなかったからね。
それじゃ。
2016年7月29日金曜日
matplotlibでx軸を経過時間で表示したいんだ!!
pythonのmatplotlibを使ってお絵描き。
X軸を基準からの差分で表示したいけど、データ内に収められていた基準点、つまり第一点、から表示されてしまう(・ω・`)
そこで色々探したらあったあった。
これでできる!!
使い方は、何かをplotして、
import matplotlib.plot as plt
.....
locs,xlabel = plt.xticks()
plt.xticks(locs,map(lambda x : "%g" %x, locs-locs[0]))
plt.xlabel("Elapsed Time from %d [sec]" %locs[0])
でok.
2016年4月28日木曜日
読んだ本 2016/4/28
読んだ本をメモしておこうかと。。。
記録に残っているのは1/7に森博嗣の「まどろみ消去」を読み終わっている。
そこから何を読んだのかを残しておく。(と言ったものの、次はいつの更新になるやら…)
S&Mシリーズを読み始めたのは2015年の10月くらいかな?
アニメで「すべてがFになる」をやっていて、見ていたのがきっかけです。
…と言いたい所だが、読みたいと思っていたのはずっと前から。伏線が張られていて、面白いミステリ(のばし棒はいりません)を読んでみたいと思ってググったら出てきたのがこの作品。なんやかんやで読まずにいたら、アニメが始まり「おお、この作品は!!面白そうじゃないか!!」という事で読み始めた。
12月末までに読んだのは、
・すべてがFになる
・冷たい密室と博士たち
・笑わない数学者
・詩的私的ジャック
・封印再度
以降は2016年に読み終わった物たち。
S&Mシリーズを読み始めたのは2015年の10月くらいかな?
アニメで「すべてがFになる」をやっていて、見ていたのがきっかけです。
…と言いたい所だが、読みたいと思っていたのはずっと前から。伏線が張られていて、面白いミステリ(のばし棒はいりません)を読んでみたいと思ってググったら出てきたのがこの作品。なんやかんやで読まずにいたら、アニメが始まり「おお、この作品は!!面白そうじゃないか!!」という事で読み始めた。
12月末までに読んだのは、
・すべてがFになる
・冷たい密室と博士たち
・笑わない数学者
・詩的私的ジャック
・封印再度
以降は2016年に読み終わった物たち。
1. まどろみ消去 (amazon)
作者:森博嗣
内容は短編集。キシマ教授の話が収録されている
S&Mシリーズの封印再度の次に読むべき本かな?
2. 幻惑の死と使途
作者:森博嗣
題名はダジャレかな?読めばわかるかもしれない。
マジシャンが出る。萌絵の友達も凄い。次の作品とパラレルに進む。
3. 夏のレプリカ
作者:森博嗣
読んだのは2月くらいかな?本文から夏の暑さが伝わってきた。
しかし事件の解決は秋が深まり始めた頃。那古野の気温は分からないが、萌絵の悲しみが冬の前触れのよう。(なに言ってんだ?)
4. 今はもうない
作者:森博嗣
ないんだよ。もう。(何がだっけ、、、?)
読んでて違和感しかなかった。そしてまた騙された。
5. 数奇にして模型
オタクの分類はむずかしい。コスプレ趣味か、模型趣味か。
どちらにしても、偶像を具現化し、自分の満足を得る事を趣味としている。
度が行き過ぎると…
6. 有限と微小のパン
有限ってことは有るんだ。でも微小ってなるとほとんどないに等しい。
パン屑なんてそんな物かもしれない。
その人が存在していることが、ある人に取っては非常に大きな問題になる事もある。
いてほしいのか、いてほしくないのか、どちらがよいか。
犀川先生は憧れるのだ。萌絵は犀川先生に憧れる。
7. 地球儀のスライス
短編集。イギリスのマン島にいってみたいね。
メシはともかく鉄道を見てみたい。
小鳥遊なんて読めないよ。練ちゃんは女の子かな?可愛いかっこしちゃって。
ここで少し時間が空く。なぜなら、2週間も鹿児島の薩摩半島と反対側、大隅半島に出張で出かけていたから。本は持っていたのだけれども、読まなかった。
黒潮に乗りはるばる日本にやってきた魚はおいしいですね。名物の伊勢エビは食べず。
民宿でおいしいご飯をいっぱい食べて、深夜勤務をこなしたので、少し太りました。
8. 黒猫の三角
Vシリーズになりました。なぜVなのでしょう?Veniko?
練ちゃんは女の子でした。女装子というのでしょうか?1999年の本とは思えない。(携帯に関する記述はすくないか)
人が決めたルールは何のために決めたのでしょう?ルールに反すれば罰せられるのです。
そのルールは自分の利益を守るために。。。
9. 人形式モナリザ
操ってるのはだれ?操られているのはだれ?
細かい所ばかり見ていると、大きな波に気づかずのまれてしまいますよ。
答えを知っていても、満足はさせてくれません。
これは、2016/4/25くらいに読み終わった。
10. 月は幽咽のデバイス
今読んでるから、次回に持ち越し!
ってことで、今年になって4ヶ月ほどで9冊読んだことになる。
これらは(大抵)書店で買って読んでいるが、まだまだ先はある。
S&Mシリーズの封印再度の次に読むべき本かな?
2. 幻惑の死と使途
作者:森博嗣
題名はダジャレかな?読めばわかるかもしれない。
マジシャンが出る。萌絵の友達も凄い。次の作品とパラレルに進む。
3. 夏のレプリカ
作者:森博嗣
読んだのは2月くらいかな?本文から夏の暑さが伝わってきた。
しかし事件の解決は秋が深まり始めた頃。那古野の気温は分からないが、萌絵の悲しみが冬の前触れのよう。(なに言ってんだ?)
4. 今はもうない
作者:森博嗣
ないんだよ。もう。(何がだっけ、、、?)
読んでて違和感しかなかった。そしてまた騙された。
5. 数奇にして模型
オタクの分類はむずかしい。コスプレ趣味か、模型趣味か。
どちらにしても、偶像を具現化し、自分の満足を得る事を趣味としている。
度が行き過ぎると…
6. 有限と微小のパン
有限ってことは有るんだ。でも微小ってなるとほとんどないに等しい。
パン屑なんてそんな物かもしれない。
その人が存在していることが、ある人に取っては非常に大きな問題になる事もある。
いてほしいのか、いてほしくないのか、どちらがよいか。
犀川先生は憧れるのだ。萌絵は犀川先生に憧れる。
7. 地球儀のスライス
短編集。イギリスのマン島にいってみたいね。
メシはともかく鉄道を見てみたい。
小鳥遊なんて読めないよ。練ちゃんは女の子かな?可愛いかっこしちゃって。
ここで少し時間が空く。なぜなら、2週間も鹿児島の薩摩半島と反対側、大隅半島に出張で出かけていたから。本は持っていたのだけれども、読まなかった。
黒潮に乗りはるばる日本にやってきた魚はおいしいですね。名物の伊勢エビは食べず。
民宿でおいしいご飯をいっぱい食べて、深夜勤務をこなしたので、少し太りました。
8. 黒猫の三角
Vシリーズになりました。なぜVなのでしょう?Veniko?
練ちゃんは女の子でした。女装子というのでしょうか?1999年の本とは思えない。(携帯に関する記述はすくないか)
人が決めたルールは何のために決めたのでしょう?ルールに反すれば罰せられるのです。
そのルールは自分の利益を守るために。。。
9. 人形式モナリザ
操ってるのはだれ?操られているのはだれ?
細かい所ばかり見ていると、大きな波に気づかずのまれてしまいますよ。
答えを知っていても、満足はさせてくれません。
これは、2016/4/25くらいに読み終わった。
10. 月は幽咽のデバイス
今読んでるから、次回に持ち越し!
ってことで、今年になって4ヶ月ほどで9冊読んだことになる。
これらは(大抵)書店で買って読んでいるが、まだまだ先はある。
2015年9月30日水曜日
名前空間
C++を使用するときに、include文の後に
using namespace std;
と宣言していた。
これは、C++を学び始めた頃に
"おまじないとして宣言しておくこと"
といわれたので何も考えずに宣言していた。
けど、namespaceってなんだ?
簡単にいうと、
(複数のファイルで構成される)プログラムを書いたときに、名前(関数でも変数でも)の衝突を避けるためのもの
と言う事らしい。
coutって何となく使っていたけれど、これはiostreamをincludeしたら使用できる関数。
けれど、ただ
cout << "hogehoge";
では使用できない。
std::cout << "hogehoge";
とする必要がある。これは、iostream内でcoutがstdという名前空間の中で書かれている事が原因である。
いちいちstd::coutと書いていたら面倒なので、そのファイル内ではcoutと書かれたらstd::coutを使用すると宣言していたのが、
using namespace std;
これによって、
cout << "hogehoge";
としても、そのファイル内ではstd::coutの事なのね、とコンパイラーさんは理解してくれる。
と宣言していた。
これは、C++を学び始めた頃に
"おまじないとして宣言しておくこと"
といわれたので何も考えずに宣言していた。
けど、namespaceってなんだ?
名前空間
namespaceは日本語では名前空間と言われている。
じゃーその実態はなんなのか?
簡単にいうと、
(複数のファイルで構成される)プログラムを書いたときに、名前(関数でも変数でも)の衝突を避けるためのもの
と言う事らしい。
coutって何となく使っていたけれど、これはiostreamをincludeしたら使用できる関数。
けれど、ただ
cout << "hogehoge";
では使用できない。
std::cout << "hogehoge";
とする必要がある。これは、iostream内でcoutがstdという名前空間の中で書かれている事が原因である。
いちいちstd::coutと書いていたら面倒なので、そのファイル内ではcoutと書かれたらstd::coutを使用すると宣言していたのが、
using namespace std;
これによって、
cout << "hogehoge";
としても、そのファイル内ではstd::coutの事なのね、とコンパイラーさんは理解してくれる。
2014年11月11日火曜日
TSplineの境界条件の設定の方法
ROOTで点を補間しようと思った時に、点のある区間はスプライン補間で行い、その外は別の関数で補間することを考えた。
その際に、端点でスプラインと任意の関数が滑らかにつながるようにしたい。
このとき、TSplineに境界条件を入れることを考える。
CernのTSpline3の説明を見ると、
TSpline3(const char* title, const TGraph* g, const char* opt = 0, Double_t valbeg = 0, Double_t valend = 0)
となっており、valbegとvalendに端点の1階微分を境界条件として入れてあげれば良さそう。
デフォルトでは0となっているoptを設定しなければならない。
このoptに何を設定するかがわかりづらかった。
どうやらこのページを見ると、optにcharで"b1e1"と入れると、1階微分の境界条件が設定されるようだ。
試しにやってみたのが以下のプログラム(pythonで動かしてみた)。
ここでは、外の点は端から2点をつないだ直線でつなぐことを考えて、境界条件として端から2点の傾きを求めた。
その際に、端点でスプラインと任意の関数が滑らかにつながるようにしたい。
このとき、TSplineに境界条件を入れることを考える。
CernのTSpline3の説明を見ると、
TSpline3(const char* title, const TGraph* g, const char* opt = 0, Double_t valbeg = 0, Double_t valend = 0)
となっており、valbegとvalendに端点の1階微分を境界条件として入れてあげれば良さそう。
デフォルトでは0となっているoptを設定しなければならない。
このoptに何を設定するかがわかりづらかった。
どうやらこのページを見ると、optにcharで"b1e1"と入れると、1階微分の境界条件が設定されるようだ。
試しにやってみたのが以下のプログラム(pythonで動かしてみた)。
ここでは、外の点は端から2点をつないだ直線でつなぐことを考えて、境界条件として端から2点の傾きを求めた。
>>> import ROOT as pR
>>> import array
>>> a = array.array("d",[1,2,3,4,5])
>>> b = array.array("d",[10,3,7,4,8])
>>> g = pR.TGraph(len(a),a,b)
>>> g.SetMarkerStyle(2)
>>> s = pR.TSpline3("s",g) # 境界条件を設定しないスプライン
>>> s.SetLineColor(2) #赤色
>>> tmp = [pR.Double(),pR.Double(),pR.Double(),pR.Double()]
>>> # 左端の傾き
>>> g.GetPoint(0,tmp[0],tmp[1]) # 始点
>>> g.GetPoint(1,tmp[2],tmp[3]) # 始点のお隣
>>> derF = (tmp[3]-tmp[1])/(tmp[2]-tmp[0])
>>> # 右端の傾き
>>> g.GetPoint(g.GetN()-2,tmp[0],tmp[1]) # 終点一つ前
>>> g.GetPoint(g.GetN()-1,tmp[2],tmp[3]) # 終点
>>> derE = (tmp[3]-tmp[1])/(tmp[2]-tmp[0])
>>> s2 = pR.TSpline3("s2",g,"b1e1",derF,derE) # 境界条件を設定したスプライン
>>> s2.SetLineColor(3) # 緑色
>>>
>>> g.Draw("AP")
>>> s.Draw("same")
>>> s2.Draw("same")
2014年10月22日水曜日
gnuplot小技
gnuplotでの小技のまとめ
1, エラーバーの端っこ消す
set bar 0
2, 2つの関数で囲んだ部分をfillする
plot "+" us 1:(f(\$1)):(g(\$1)) with filled curves closed
注意すべきことは、関数f(x), g(x)を括弧でくくること。
そうしないと、undefined value といわれる。
注意すべきことは、関数f(x), g(x)を括弧でくくること。
そうしないと、undefined value といわれる。
2014年5月21日水曜日
PyROOTを使いこなすためには…?
PyROOTを使ってROOTファイルの解析を行う。
設定方法はGoogleで検索すれば見つかるでしょう…
問題は使い方!そんなに普及していない(?)のか日本語記事がなかなか見つからない!!
ROOT自体を使いこなしている訳ではないので,Python内で何のオブジェクトを使えばいいのかに結構悩んだ。。。
ってことでROOTを使い始めて,というかPyROOTを使い始めて数ヶ月経ったので,新しくROOTファイルを作る方法について重点をおいてまとめてみる。
・PythonにROOTをimport
・ROOTファイルを開く
・1次元ヒストグラム
TH1を使う。
てな感じかな。やり方にはいろいろあるだろうけど自分が試してみてできたやり方が上の方法。(なんかみにくいね…)
設定方法はGoogleで検索すれば見つかるでしょう…
問題は使い方!そんなに普及していない(?)のか日本語記事がなかなか見つからない!!
ROOT自体を使いこなしている訳ではないので,Python内で何のオブジェクトを使えばいいのかに結構悩んだ。。。
ってことでROOTを使い始めて,というかPyROOTを使い始めて数ヶ月経ったので,新しくROOTファイルを作る方法について重点をおいてまとめてみる。
・PythonにROOTをimport
>>> import PyROOT as pR
・ROOTファイルを開く
>>> # 既存のfileを開く
>>> f_in = pR.TFile("test.root")
>>> # 新しいroot fileを作る
>>> f_new = pR.TFile("output.root","recreate")
・1次元ヒストグラム
TH1を使う。
>>> # 0から1024の間を1024ビンに区切ったヒストグラム
>>> h1 = pR.TH1D("h1","h1",1024,0,1024)
>>> h1.SetBinContent(10,10) # 10ビン目に10つめる
>>> h1.Fill(350) # 350ビン目に1つだけつめる。
>>> h1.Draw() # 描画
以上の操作で以下の図ができる。
・ディレクトリ構造を作る
>>> # カレントディレクトリの表示
>>> f_new.pwd()
output.root:/
>>>
>>>
>>> # ディレクトリ操作
>>> cur_dir = pR.gDirectory
>>> cur_dir.ls()
TFile** output.root
TFile* output.root
>>> cur_dir.pwd()
output.root:/
>>>
>>>
>>> # ディレクトリ作成
>>> subdir = f_new.mkdir("subdir")
>>> f_new.ls()
TFile** output.root
TFile* output.root
TDirectoryFile* subdir subdir
KEY: TDirectoryFile subdir;1 subdir
>>>
>>>
>>> # ディレクトリ移動
>>> f_new.cd("subdir")
True
>>> cur_dir.pwd()
output.root:/subdir
>>> f_new.pwd()
output.root:/
>>>
>>>
>>> # subdir 内に平均が512で分散が10となる
>>> # ガウス分布のヒストグラムを作る
>>> h1 = pR.TH1D("h1","h1",1024,0,1024)
>>> for i in range(1000) :
... h1.Fill(pR.gRandom.Gaus(512,10)
>>> cur_dir.ls()
TDirectoryFile* subdir subdir
OBJ: TH1D h1 h1 : 0 at: 0x7faa9aeec930
>>>
>>>
>>> # 上位ディレクトリへ移動
>>> f_new.cd("../")
>>> cur_dir.pwd()
output.root:/
>>> f_new.ls()
TFile** output.root
TFile* output.root
TDirectoryFile* subdir subdir
OBJ: TH1D h1 h1 : 0 at: 0x7faa9aeec930
>>>
>>>
>>> # 平均が512で分散が10となる
>>> # ガウス分布のヒストグラムを作る
>>> h2 = pR.TH1D("h2","h2",1024,0,1024)
>>> for i in range(1000) :
... h2.Fill(pR.gRandom.Gaus(512,10)
>>> f_new.ls()
TFile** output.root
TFile* output.root
TDirectoryFile* subdir subdir
OBJ: TH1D h1 h1 : 0 at: 0x7faa9aeec930
OBJ: TH1D h2 h2 : 0 at: 0x7faa9e10e730
>>>
>>>
>>> # ヒストグラムを作る
>>> h3 = pR.TH1D("h3","h3",1024,0,1024)
>>> f_new.ls()
TFile** output.root
TFile* output.root
TDirectoryFile* subdir subdir
OBJ: TH1D h1 h1 : 0 at: 0x7faa9aeec930
OBJ: TH1D h2 h2 : 0 at: 0x7faa9e10e730
OBJ: TH1D h3 h3 : 0 at: 0x7faa9dba1ec0
>>>
>>>
>>> # ヒストグラムの削除
>>> h3.Delete()
>>> f_new.ls()
TFile** output.root
TFile* output.root
TDirectoryFile* subdir subdir
OBJ: TH1D h1 h1 : 0 at: 0x7faa9aeec930
OBJ: TH1D h2 h2 : 0 at: 0x7faa9e10e730
>>>
>>>
>>> # ヒストグラムをファイルへ書き込み,閉じる
>>> f_new.Write()
>>> f_new.Close()
2013年11月12日火曜日
Pyxplotでグラフを描く!
gnuplotにかわるdraw系のツールないかなと思ったら、Pyxplotというツールを発見!ベクター形式の図もかけるようだ。
早速、homebrewでインストールした。インストールする際に、MacTeXと同時にインストールされたghostscriptを--with-x11オプションをつけてインストールし直せといわれたので、それに従い再インストールした。
使ってみた感想はgnuplotの上位版と言えばいいのかな?
gnuplotとほとんど変わらないコマンドを用いることができるようで、ラベルやタイトルなどには$\LaTeX$のコマンドを用いることができ、きれいに図を描くことができた。
以下に試しに描いてみた図を2つ載せる。
set term png color
set output "test.png" # 図1 キャプションあり
set xlabel "$x$"
set ylabel "$y$"
plot y=150*sin(x)/x title "$y=\frac{150\sin(x)}{x}$" ,\
y=tan(x)/x title "$y=\frac{\tan(x)}{x}$"
set nokey
set output "test2.png" # 図2 キャプションなし
plot y=150*sin(x)/x title,\
y=tan(x)/x title
![]() |
| 図1 キャプションあり |
![]() |
| 図2 キャプションなし |
ちなみにgnuplotで同じグラフを描いてpostscriptで出力すると以下のようになる。(図は画面キャプチャしたもの)
![]() |
| 図3 gnuplotによるグラフ |
gnuplotのほうが多少かくかくしているように見える。Pyxplotのほうが奇麗な図がかけることがわかった。
参考
Pyxplot Home : http://pyxplot.org.uk/index.html
2013年10月29日火曜日
gnuplotでの縦線
gnuplotで\( x = \mathrm{const.}\)の縦線の入れ方は、
とすればいい。そうすれば\((x_1,y_1)\)から\((x_2,y_2)\)へ伸びる線が引ける。
<< 例 >>
set arrow from x1,y1 to x2,y2 nohead
とすればいい。そうすれば\((x_1,y_1)\)から\((x_2,y_2)\)へ伸びる線が引ける。
<< 例 >>
set xrange[0:8] set yrange[0:8] y=4 set arrow 1 from 4,0 to 4,8 nohead set arrow 2 from 6,2 to 6,6 nohead lc rgb "forest-green" lw 4 plot y
2013年8月26日月曜日
Texworksのタイプセットの編集
TeXを書くときは、TeXworksを用いて書いている。
TeXに画像を貼付けようとしたときにxbb fileがないと
!LaTeX Error: `foo.xbb' not found. Use -shell-escape option to generate automatically.
というエラーを出され困ってしまうことが多々あった。
こんなときは一度ターミナルで
しかしいちいち画像のはりつけで、xbb file作成するのは面倒になってくる。そこで、xbb fileがなくてもコンパイルがTeXworksで通るように、新しいタイプセットを作ることに。
その際以下の手順で新しいタイプセットを作成できた。
1. ターミナルでtexbinへ移動
5.タイプセットの編集をクリック
6.名前をpdfplatex+shellescapeとして(自分の好きな名前にしてOK)、プログラムをpdfplatex_shellescapeに設定。引数に$basenameを追加してOKをおす。
7.コンパイル時に作成したpdfplatex+shellescaoeを選択すればxbb fileがなくてもコンパイルできる!
\documentclass[landscape]{jarticle}
とすれば横置きとなる。
TeXに画像を貼付けようとしたときにxbb fileがないと
!LaTeX Error: `foo.xbb' not found. Use -shell-escape option to generate automatically.
というエラーを出され困ってしまうことが多々あった。
こんなときは一度ターミナルで
extractbb foo.pngとすればxbb fileが作成され、TeXworksでもコンパイルが通る。
しかしいちいち画像のはりつけで、xbb file作成するのは面倒になってくる。そこで、xbb fileがなくてもコンパイルがTeXworksで通るように、新しいタイプセットを作ることに。
その際以下の手順で新しいタイプセットを作成できた。
1. ターミナルでtexbinへ移動
cd /usr/texbin2.pdfplatex ファイルをコピー
cp pdfplatex pdafplatex_shellescape3.pdfplatex_shellescapeの中身を、以下のように変更
#!/bin/sh platex --shell-escape -synctex=1 "$1" && \ dvipdfmx -f otf-hiragino.map "`basename "$1" .tex`"4.TeXworksを起動しメニューバーのTeXworksから環境設定を開く。
5.タイプセットの編集をクリック
6.名前をpdfplatex+shellescapeとして(自分の好きな名前にしてOK)、プログラムをpdfplatex_shellescapeに設定。引数に$basenameを追加してOKをおす。
7.コンパイル時に作成したpdfplatex+shellescaoeを選択すればxbb fileがなくてもコンパイルできる!
以上の手順をふめばコンパイル時に必要なオプションを随時ついかして、オリジナルのタイプセットを使うことができるようになる。
ちなみに自分は横置きのタイプセットも作った。参考までに以下に示す。
ちなみに自分は横置きのタイプセットも作った。参考までに以下に示す。
#!/bin/sh platex -synctex=1 "$1" && \ >/br> dvipdfmx -p a4 -l -f otf-hiragino.map "`basename "$1" .tex`"使う際は
\documentclass[landscape]{jarticle}
とすれば横置きとなる。
2013年7月28日日曜日
Fortran : subroutine 内の初期値設定
Fotranを用いて、プログラムを書くときにsubroutineを用いてプログラムを書くと見通しがよくなるのでできる限り用いるようにしている。
そんなときに、subroutine内で
そんなときに、subroutine内で
real(8) :: i = 0.d0
の様に初期設定をしたとしよう。このsubroutineを何回もmainプログラムでcallしたとすると、初期設定の適用は一番最初にcallされたときのみしか使えない。なので、何回もsubroutineをcallするようなプログラムを書く場合は、初期値を型宣言時に設定するのではなく、後で初期設定をすることにするとよい。
2013年7月20日土曜日
数学公式
いつも忘れがちな数学公式
どこにいてもさっと目が通せるようにしておく
随時更新していく予定
\[
\Delta \psi(x,y,z) = \frac{\partial^2 \psi}{\partial x^2}+\frac{\partial^2 \psi}{\partial y^2}+\frac{\partial^2 \psi}{\partial z^2}
\]
\(x=r\cos\theta, y=r\sin\theta, z=z\) として考えると、
\begin{eqnarray*} \Delta \psi(r,\theta,z) &=& \frac{1}{r} \frac{\partial}{\partial r} \left( r \frac{\partial \psi}{\partial r} \right) + \frac{1}{r^2}\frac{\partial^2 \psi}{\partial \theta^2}+\frac{\partial^2 \psi}{\partial z^2} \\ &=& \frac{\partial^2 \psi}{\partial r^2}+\frac{1}{r} \frac{\partial \psi}{\partial r} + \frac{1}{r^2}\frac{\partial^2 \psi}{\partial \theta^2}+\frac{\partial^2 \psi}{\partial z^2} \end{eqnarray*}
\(x=r\sin\theta\cos\phi, y=r\sin\theta\sin\phi, z=r\cos\theta \) として考えると、
\begin{eqnarray*} \Delta \psi(r,\theta,\phi) &=& \frac{1}{r^2}\frac{\partial}{\partial r} \biggl ( r^2 \frac{\partial \psi}{\partial r} \biggr) +\frac{1}{r^2\sin{\theta} }\frac{\partial }{\partial \theta} \biggl (\sin{\theta}\frac{\partial \psi}{\partial \theta} \biggr ) +\frac{1}{r^2\sin^2{\theta}}\frac{\partial^2 \psi}{\partial \phi^2}\\ &=& \frac{1}{r}\frac{\partial^2}{\partial r^2} \biggl( r \psi \biggr) +\frac{1}{r^2\sin{\theta} }\frac{\partial }{\partial \theta} \biggl (\sin{\theta}\frac{\partial \psi}{\partial \theta} \biggr ) +\frac{1}{r^2\sin^2{\theta}}\frac{\partial^2 \psi}{\partial \phi^2} \\ &=&\frac{\partial^2 \psi}{\partial r^2} +\frac{2}{r}\frac{\partial \psi}{\partial r} +\frac{1}{r^2}\frac{\partial^2 \psi}{\partial \theta^2} +\frac{1}{r^2}\mathrm{cot}\theta \frac{\partial \psi}{\partial \theta} +\frac{1}{r^2\sin^2{\theta}}\frac{\partial^2 \psi}{\partial \phi^2} \end{eqnarray*}
どこにいてもさっと目が通せるようにしておく
随時更新していく予定
3次元ラプラシアン
(1) デカルト座標
(2) 円筒座標
\begin{eqnarray*} \Delta \psi(r,\theta,z) &=& \frac{1}{r} \frac{\partial}{\partial r} \left( r \frac{\partial \psi}{\partial r} \right) + \frac{1}{r^2}\frac{\partial^2 \psi}{\partial \theta^2}+\frac{\partial^2 \psi}{\partial z^2} \\ &=& \frac{\partial^2 \psi}{\partial r^2}+\frac{1}{r} \frac{\partial \psi}{\partial r} + \frac{1}{r^2}\frac{\partial^2 \psi}{\partial \theta^2}+\frac{\partial^2 \psi}{\partial z^2} \end{eqnarray*}
(3) 極座標
\begin{eqnarray*} \Delta \psi(r,\theta,\phi) &=& \frac{1}{r^2}\frac{\partial}{\partial r} \biggl ( r^2 \frac{\partial \psi}{\partial r} \biggr) +\frac{1}{r^2\sin{\theta} }\frac{\partial }{\partial \theta} \biggl (\sin{\theta}\frac{\partial \psi}{\partial \theta} \biggr ) +\frac{1}{r^2\sin^2{\theta}}\frac{\partial^2 \psi}{\partial \phi^2}\\ &=& \frac{1}{r}\frac{\partial^2}{\partial r^2} \biggl( r \psi \biggr) +\frac{1}{r^2\sin{\theta} }\frac{\partial }{\partial \theta} \biggl (\sin{\theta}\frac{\partial \psi}{\partial \theta} \biggr ) +\frac{1}{r^2\sin^2{\theta}}\frac{\partial^2 \psi}{\partial \phi^2} \\ &=&\frac{\partial^2 \psi}{\partial r^2} +\frac{2}{r}\frac{\partial \psi}{\partial r} +\frac{1}{r^2}\frac{\partial^2 \psi}{\partial \theta^2} +\frac{1}{r^2}\mathrm{cot}\theta \frac{\partial \psi}{\partial \theta} +\frac{1}{r^2\sin^2{\theta}}\frac{\partial^2 \psi}{\partial \phi^2} \end{eqnarray*}
2013年7月17日水曜日
初めてのmac
macに触れ始めて3ヶ月たった。
Windows,Linuxは使ったことあったけど、Unixは初めて。
以下に設定内容のメモを残す。
ターミナルに
を入力するだけ。
Windows,Linuxは使ったことあったけど、Unixは初めて。
以下に設定内容のメモを残す。
(1) homebrew
homebrewを導入した。macに入っていないコマンドを導入できる便利ツール。ターミナルに
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
を入力するだけ。
(2) gfortran
fortran90/95を使うのでgfortranをhomebrewにてinstall
(3) Python
macにデフォルトでpython入ってたけどhomebrewで入れ直してみた
(あまり意味はないかもしれないが…)
(4) gnuplot
描画ツールで使いやすいと思っているのがこれ。
やっぱりhomebrewで導入
やっぱりhomebrewで導入
(5) \(\LaTeX\)
TeX wiki を読みながら導入
ファイルが馬鹿みたいに大きかったのでネットがつながりやすいところでダウンロードするのが一番だと思う。
ファイルが馬鹿みたいに大きかったのでネットがつながりやすいところでダウンロードするのが一番だと思う。
TEST
TEST
Mathjaxによる数式の表示(参考 : http://genkuroki.web.fc2.com )
\[ \sum_{n=1}^\infty \frac{1}{n^2} = \frac{\pi^2}{6} \tag{3} \]
Mathjaxによる数式の表示(参考 : http://genkuroki.web.fc2.com )
\[ \sum_{n=1}^\infty \frac{1}{n^2} = \frac{\pi^2}{6} \tag{3} \]
登録:
投稿
(
Atom
)






