C++のPimpl

C++のプログラムでビルドに10秒程度かかることがあったので、ビルド時間の短縮のため(http://d.hatena.ne.jp/melpon/20101022/1287705842)にC++のイディオムであるPimpl(Pointer Implemetation)について調べてみた。そこで、ヒットしたのがこの記事 http:/…

PRML 多項式曲線フィッティング

『パターン認識と機械学習 上』通称PRML本に書いてある多項式曲線フィッティングをPythonで実装してみました。 http://gist.github.com/623904テストデータはこれ http://research.microsoft.com/en-us/um/people/cmbishop/PRML/webdatasets/curvefitting.tx…

C言語でタプルを生成

C言語でタプルを生成してみました。以下はそのメモ 他言語でPythonの拡張を作るには、BoostライブラリやSwigを使う方法など、いくつかあります。 そのなかで、今回はC言語でPythonのタプルを生成します。 方針はタプルを生成するCコードを書き、setup.pyでビ…

整数と少数の比較

Pythonに置ける整数と少数の比較で今後気をつけておくべきことを記憶の裏打ちがてら書いておく。 整数と少数の比較で以下のような挙動を示す。 $ python >>> 1.0 == 1 True >>> 1.000000000001 == 1 False >>> 1.0000000000000001 == 1 True 最後の比較は「1…

C++の覚書 デストラクタの注意点

今後の注意点として書いておく。 結論からいうとクラスを宣言したスコープでexit関数を呼び出すとそのクラスのデストラクタは呼び出されない。 以下がその例。 #include <iostream> class hoge { public: hoge() { std::cout << "called instance" << std::endl; }; ~h</iostream>…

C++STL(std::vector)

std::vectorに配列をコピーする方法のメモ。 std::vector v = {1,2,3,4,5}; みたいなことができたらいいのにな。これができなくてもstd::vectorが便利なことには代わりわない。 #include <iostream> #include <algorithm> #include <vector> void disp(int i) { std::cout << i << std::en</vector></algorithm></iostream>…

wizard 逆から読んでもwizard

元ネタ:http://alfalfalfa.com/archives/394584.html 解説 wizardを反転するとdraziwです。また、 abcdefghijklmnopqrstuvwxyzを反転すると zyxwvutsrqponmlkjihgfedcbaです。 それぞれ対応する文字を取ります。例えば d→w r→i となります。 このときdraziw…

モンテカルロ法で円周率を求めてみた

モンテカルロ法で円周率を求めてみました。 概要は、確率理論を用いいて円周率を求める方法です。 詳細は下記のURLです。このサイトを参考にしました。 http://hp.vector.co.jp/authors/VA014765/pi/montecalro.html ・ソース http://gist.github.com/403493…

Google Buzz

Google製ソーシャルネットワークGoogle Buzzが出た。 GoogleBuzzを利用するにはアカウントの設定があったのでめんどかった。 Twitterを一方的にインポートできる機能は便利だ。 専用クライアントソフトはiPhone版とAndroid版が出てた。 BlackBerry用は後から…

Pythonで最小二乗法

大学の課題で最小二乗法について調べてこいという課題が出た。 そのレポートを書く際に、コーディングしたPythonコード #!/usr/bin/env python # coding: utf-8 # 最小二乗法によるデータの整理 import csv import math # 読み込むデータファイル csvfile = …

shには嘘を見抜く力がある

$ yes '彼女' | sh 実行結果 sh: 彼女: not found sh: 彼女: not found sh: 彼女: not found sh: 彼女: not found . . .ごめん、嘘なんだ... $ sudo yes '彼女' | sh実行結果 sh: 彼女: not found sh: 彼女: not found sh: 彼女: not found sh: 彼女: not fo…

CmakeでOpenCV2.0を使ったテストプログラムの作成

OpenCV2.0をがリリースされてたので、READMEファイルを読んでインストールした。 OpenCV2.0はconfigureの代わりにCmakeを使ってMakefileを生成している。 そこで、OpenCV2.0を使ったテストプログラムもCmakeから作り上げたかったのでやってみた。以下のファ…

GNU GLOBALをwindowsで使ってみた

VIM

参考サイトとしてhttp://vimwiki.net/?tips%2F40を使った。 環境 ・Vista ・VIM 7.2.148 ・GNU GLOBAL 5.7.4gtags 参考サイトのgtags.vimはバージョン0.2であるのに対し、今回扱った環境ではgtags.vimのバージョンが0.3.1だったためか、おかしな動作はしなか…

ZaurusでMoshをmakeできなった

Zaurus(SL-C860)でMosh0.2.0をmakeしようとしたけどできなかった。 タイトルでmakeと書いたけど正確には./configure以下が作業風景 cofigureファイルの中身をみてもよくわからないので、あきらめた。以上

PythonとOpenCVでアッカーマンステアリング機構のシミュレーション

色々あってアッカーマンステアリング機構を学ばなければいけなくなった。 ググったら色々出てきた。 為になったサイト http://www.geocities.jp/bonzo_hp/Ackerman.htm アッカーマンステアリング機構について参考になった。 wikipedia:ヴィルヘルム・アッカ…

OpenCV2.0について

どうやら、OpenCV2.0のベータ版は今年の7月に出る模様。 正式リリースは8月だそうだ。 以下気になった変更点 cxcore, cv, cvaux, highgui, mlなどのライブラリが、libopencvに一まとめになる 訂正:ライブラリの形態は今後変わるとのこと。dandelionさんのコ…

Pythonの勉強01

Pythonの勉強をすることにした。 教科書として、Pythonのチュートリアルを読むことにした。http://www.python.jp/doc/release/tut/ 3章の「形式ばらないPython の紹介」まで読んだ。 復習 ・複素数が扱える ・数字 ・文字列 ・文字コードの変換 ・リスト ・…

GoogleBooks

はてぶの人気エントリーに持っている本を登録すると、Googleで本の中身が検索できるがあった。 とりあえずやってみ見よう取り掛かろうとしたものの、バーコードリーダをもっていない。かといって一冊づつ数字を打ち込むのはめんどくさい。 携帯のバーコード…

ArduinoでLED点滅

3日位前に注文したArduinoが到着 VistaでArduinoのIDEを起動しようとしたが起動せず 調べてみると同じ症状の人がいた。 先人のエラー対処方法を行ってみるもエラー これはJavaのライブラリの関係でエラーが出るらしい。 この3日間はこのエラーを解決するため…

測域センサのライブラリ

測域センサの制御ライブラリがアップデートされていた。 常に最新のライブラリを使用していたわけではないが ビルドに支障をきたした変更点は int capture(std::vector& data, int* timestamp = NULL); から int capture(std::vector& data, long* timestamp…

はつHatena

テスト書き込み