ぱたへね

はてなダイアリーはrustの色分けができないのでこっちに来た

2011-01-01から1年間の記事一覧

[Lisp] LispWorksのヘルプを他のブラウザで見る

Windows環境でLispWorksを使っていると、Helpを起動するたびにデフォルトのブラウザがIEでは無いので Unrecognized application がどうのこうのと言われてワンクッション入ってしまいます。流石にこれは飛ばせる方法があるだろうと思い、調べていたらMLで解…

PyCharm で日本語入りソースを読み込むとUnicodeDecodeError

PyCharm 1.5.4を、Windows環境の Python3.2 で動かしていたら、タイトルのエラーが出て、少しはまりました。解決策をまとめました。 PyCharmから日本語が入ったPythonソースを、Debugで実行するとこのようなエラーがでます。DebugではなくRunなら問題なく動…

LispWorks (Windows) で外部プロセスを起動する

LispWorksのIDEを使っていると、ちょっとディレクトリ作りたいときや、ちょっとファイルを削除したいときに、diredを期待してC-xdを押してしまいます。あまりにも同じミスを何度もするので、LispWorksからWindowsのファイラーが起動するようにしました。 外…

測量学

一冊読んでみた。一冊目なので、良いのか悪いのかよくわからん。 http://www.amazon.co.jp/%E6%B8%AC%E9%87%8F%E5%AD%A6-%E3%83%8B%E3%83%A5%E3%83%BC%E3%83%91%E3%83%A9%E3%83%80%E3%82%A4%E3%83%A0%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%83%96%E3%83%83…

やったー

とりあえずはじめてみました。

[測量] 誤差伝播の法則

関数が一次式の場合 Yが確率変数X1,X2,・・・・,Xnの一次式で表せるとすると、 Y = a + b1X1 + b2X2+ ・・・+Xn と書ける。Yの平均をμy、Xiの平均をμiとすると μy = a + b1μ1 + b2μ2 + ・・・ + bnμn となる。Yの分散をσy^2、Xiの分散をσi^2、XiとXjの共分散…

[book][統計] 例題で学ぶ統計的手法

例題で学ぶ統計的手法読みました。統計データを使って実際に手を動かす部分について丁寧に説明してあります。統計処理の背景にある数学の話や、統計処理した結果をどのように使うかについては、説明が少なめになっています。良い意味で浅く広くまとまってい…

Tcl/Tkで使われているカプセル化手法

Tcl/Tkのソースコードを眺めていたら、面白そうなコードを見かけたので紹介します。 tclとtkの関係 例えば以下のコードをhello.tcl等に保存して、wish hello.tclを実行すると、いわいるtcl/tkのアプリケーションが立ち上がります。 button .b -text {push} -…

FPGAでLispマシーン

小黒さんによる「Lispマシンを作ってみた」を見ました。なかなか遠くのイベントに参加できないので、録画で後から見れるようになっていると助かります。関係者の皆さんありがとうございました。動画を見てもらえれば分かりますが、FPGAの上でLispコンパイラ…

パタヘネ、ヘネパタの歴代表紙

ようやく私の家にもComputer Architecture : A Quantitative Approach (5TH)が届きました。今までの陰気な表紙と打って変わって、白をバックに青空と雲というさわやかな表紙に変わりました。外に見える雲はクラウドコンピューティングをイメージしているの…

検定や推定の時に使う分布の選び方

例題で学ぶ統計的方法の勉強も、ようやく折り返し地点にきました。146ページに検定や推定の時に使う分布の選び方がまとまっていました。表の中の該当箇所は、書籍の中のセクション番号です。対応有り、無しの所はよく分かっていません。いろいろと順番に勉強…

Pythonで相関係数を求める

numpyで簡単に求められます。 データは例題で学ぶ統計的方法のp51から。 import numpy # 来客数 x = [22,25,27,30,35,40,41,45,51,58] # 売り上げ y = [12,15,14,21,21,28,24,29,31,37] corr = numpy.corrcoef(x, y) print(corr[0,1]) 答え:0.976322278069

箱ひげ図(box plot)

5数要約(5 number summary) 5数要約とは、データの分布状況を5つの量にまとめたものです。5つの量とは、小さい順に最小値、下側四分位置、中央値、上側四分位です。英語では、the sample minimum (smallest observation)、the lower quartile or first quart…

ヒストグラムを書く

pyplotでヒストグラムを書く。 元データは、例題で学ぶ統計的方法 6ページから。ソース # Python 3 from pylab import * import numpy import scipy import math prop = matplotlib.font_manager.FontProperties(fname=r'c:\windows\fonts\msgothic.ttc') #…

F#で外部プロセスを起動する。

F#

F#で外部プロセスを起動する方法を調べました。 3種類ありますが、少し書き方が違うだけでどれも同じ方法です。注意することは、外部プロセスが終了するまで待つときは、WaitForExit()が必要。これに気がつかなくて、少しはまりました。 その1 twitterでつぶ…

Coders at Workに出てくる書籍達

Coders at Workに出てくる人達が、The Art of Computer Programmingについて、どう言っているのかを簡単にまとめました。この面子でも完全に読んでいる人の方が少数派です。ついでに、インタビューされている人が紹介している本をまとめました。(本の最後に…

山崩れ・地すべりの力学―地形プロセス学入門

山崩れ・地すべりの力学―地形プロセス学入門読みました。タイトル通り山崩れや、地滑りに関する力学的な取り扱いが分かる本。日本で起こりうる山崩れについて、高校生でも分かるくらいの数式で丁寧に説明しています。図やグラフもそれぞれきちんと説明があり…

斎藤による崩壊発生時の予測モデル

山崩れ・地すべりの力学 地形プロセス学入門から、面白いエピソードを見つけたので紹介します。今から50年前の1960年頃、地すべり・崩壊の研究において、実験を始めてから地すべり・崩壊が起きるまでの時間(Tr)と、定常クリープ速度(de/dt)に、両対数グラフ…

Real World Functional Programming: With Examples in F# and C#

Real World Functional Programming: With Examples in F# and C#読みました。 F#を使った関数型プログラミングと、.NETのライブラリを使ったプログラミングの合わせ技を学べる本です。タイトルにもある通り、一つのトピックに対して、C#とF#の両方のコード…

PAIP 4.14 The Block World Domain

ブロックを移動させたり積み上げたりする問題。 テーブルに置いてある2個のブロックを積み上げる問題 最初の状態 ('a on table', 'b on table', 'space on a', 'space on b', 'space on table') 実行結果 [('executing', 'move a from table to b')] Aをテー…

PAIP 4.13 The Maze Searching Domain

GPSを使って迷路を解く問題。 昔よく似た問題を解いたような気がしますが、今回の迷路はこちらです。スタートが1で、ゴールが25です。 迷路はlistで表現しています。 maze_data = [(1,2),(2,3),(3,4),(4,9),(9,14),(9,8),(8,7),(7,12),(12,13),(12,11), (11,…

4.12 Monkey and Bananas

の続きです。 天井にぶら下がっているバナナをお猿さんは食べる事ができるでしょうか。ソースはgithubに。 https://github.com/natsutan/PAIP/blob/master/ch4/gps2.py https://github.com/natsutan/PAIP/blob/master/ch4/monky.py実行結果 $ python monky.p…

Python Scientific Lecture Notes

Python を科学技術計算に使うための講義ノートの翻訳です。 http://www.ike-dyn.ritsumei.ac.jp/~uchida/scipy-lecture-notes/元の文章もすばらしいけど、すばらしい翻訳まであります。 夏の間に読みたいです。

Beging Python Visualization

Beging Python Visualization読みました。最初はmatplotlibを使った綺麗なグラフの書き方が細かく載っている本かと思って買いましたが、後半がなかなかおもしろく良い意味で裏切られました。Pythonを使ってできることを、浅く広くしっかりと紹介している本で…

グラフタイプ

Beginning Python Visualizationの6章から。 GDPのデータを使って、様々なグラフを書いてみます。テキストに日本語を入れるには、font_managerを使います。 import matplotlib.font_manager prop = matplotlib.font_manager.FontProperties(fname=r'c:\windo…

働くパパのためのThe General Problem Solver

Paradigms of Artificial Intelligence Programming: Case Studies in Common Lispの4章から。4章の一番最初に出てきたプログラムをPythonで実装してみました。元のlispソースはhttp://norvig.com/paip/gps1.lispです。教科書は息子を学校に連れて行くパパで…

matplotlibで、グラフにテキストを入れる。

グラフをに追加できるテキスト関連のまとめ。 サンプル画像 ソースファイル # -*- coding: utf-8 -*- from pylab import * I = arange(0, 2*pi+0.1, 0.01) figure() plot(I, sin(I), label='sin(x)') # labelは凡例で表示する文字列 title('Function y = sin…

matplotlibで軸を制御する

グラフを書くときの軸の設定です。 プロット範囲をmatplotlibに任せるには、'auto'、'equal'、'tight'、'scaled'のどれかを引数にして、axis関数を呼び出します。 xticks,yticksを使えば、座標軸に文字列を使ったり、グリッドの間隔を指定できます。 サンプ…

Matplotlibの細かい話

グラフにタイトルをつける。 titleを使う。 title("example9") 線の太さを変える。 plotの引数にlwを加える。 plot(t, 2*y,'s-' , lw = 4, color = '#ffff00') 細かい色の指定をする。 plotの引数にcolorを追加する。 RGBの16進表記が使用できる。 plot(t, 2…

Matplotlibで複数のグラフを重ねて書く

方法1 plotの引数に複数のグラフを指定する。 plot関数に続けて別のグラフを与えることで、重ねてグラフを表示します。 plot(t, y, '+-.', t, 2*y,'s-') show() 方法2 hold(True)を使う。 hold(True)を指定することで、plot関数は前回にplotしたデータを破棄…