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

ActivityにonTouchEventを書く時の注意

Viewに書いていたonTouchEventをActivityに書くように変更すると、y軸の値がおかしくなる場合があります。調査すると、ViewのonTouchEventの中のevent.getRawY()はViewの座標を基準に計算しますが、Activityはscreenサイズで計算するようです。そのため、下…

Ruby on Railsでコンポジットパターン

FileEntryはbodyを持ち、DirectoryEntryはentriesを持つ。sizeはFileEntryの場合は、body#sizeを返し、DirectoryEntryはentriesのsizeの和を返す。

誤り訂正法のパーセプトロン

『わかりやすいパターン認識』の2章で説明されているパーセプトロンをPythonで実装しました。説明はここでは省きます。 #!/usr/bin/env python2.7 from matplotlib import pyplot from matplotlib.path import Path import matplotlib.patches as patches fi…

無相関検定のシミュレーション

2種類のデータの間に相関が無いとき、標本相関係数rを使って定義した \[ t = \sqrt(n-2)\frac{r}{\sqrt{1-r^{2}}}\] は自由度n-2のt分布に従うことが、理論的にわかります。各データが母集団から無作為抽出されたとき、正規分布に従って標本が抽出されるとす…

母分散が未知のときの平均値の検定のシミュレーション

母分散が未知のときの平均値の検定に使う検定量はサンプルの大きさをnとすると、自由度n-1のt分布に従うことが計算から分かります。これをR言語で、以下のコードで確かめることができます。このコードではn=20の場合にあたります。 # test_t.R size <- 10000…

不偏分散のバラつきのシミュレーション

標本の大きさnの不偏分散のバラつきは、(n-1)(不偏分散)/(母分散)が理論的に自由度(n-1)のカイ二乗分布に従うことから分かります。ここではR言語で、そのことをシミュレーションで確かめる方法を紹介します。 まずtest_chi2.Rというスクリプトを書きます。こ…

ソートアルゴリズムを暗記するためのゲームを作ってみた

最近、courseraでアルゴリズムを勉強していました。そのときやった練習問題の1つのタイプに「xxxソートで4回スワップした結果を書きなさい」というものがあって、これがなかなか勉強になりました。イメージができれば、コーディングはだいたいできるので、こ…

matplotlibを使って計算時間をプロットしてみた

matplotlibを使って、JavaのHashSetとArrayListのcontainsの実行速度を測った結果を図にしました。loglogグラフなので、ArrayListはO(N)でHashSetはO(1)でしょうか。測定方法とテストの詳細は「実装パターン」の付録Aに載っています。 使ったデータ N 1 10 1…

Javaオブジェクトの使用メモリの計算するプログラムを書きました

Javaの定義されたクラスから生成されたオブジェクトのメモリ使用量(64bitマシン)の計算をするプログラムを書きました。プリミティブなフィールドのみに対応しています。(オーバーヘッドの部分と参照のところが32bitとずれます。詳しくは、例えばここを参照し…

Javaで"Hello World"

Javaは(windowsで昔)Eclipseを使って書いたことはあったのですが、コマンドラインから実行したことはなかったので、調べました。環境はUbuntu 12.04で、ここに書いてある通りにしてjavaを導入しました。次に"Hello World"を書いて、実行方法を確認しました。…

ハサミを使うタイミング:CodeIQ 答えの最小性について

*この文章はCodeIQの「ハサミを使うタイミング」に答えた人にしか伝わらないと思います。まだ挑戦されていない方はgihyo.co.jpのこのページを読んで挑戦してみてください。ハサミを使うタイミング(CodeIQ)について、フィードバックを受けてから考えたことに…

rails 3.2: フォームで送信した中身の調査

モデルオブジェクトとは独立にコントローラー、ビューを作ってurlルーティングを設定してあげて、最後はフォームを通して渡っているparamsの中身を表示するまでをやりました。railsのチュートリアルは大抵モデルが絡んで、ヘルパー関数などの挙動を調べるの…