2015-05-01から1ヶ月間の記事一覧

常微分方程式をRで解く際の精度

R

という常微分方程式の解は で、これをRで数値的に確かめたい。 ついでに、数値積分の手法(ここではEuler法とRunge-Kutta4次)によって、どのくらい厳密解とずれるのかも調べる。Rで常微分方程式を解く際にはdeSolveパッケージを用いるのが楽。結果を算出す…

引数があったりなかったりする処理

R

今まで使ったことなかった。引数が存在しているか否かはmissing関数で判定するということだ。関数のデフォルト引数との使い分けをどうしたらいいのかはわからない。 f <- function(x, y) { if(missing(y)){return(x)} if(missing(x)){return(2*y)} x + y } …

C言語の関数ポインタを取るインターフェイスにRcpp::Functionを渡したい

R C++

最近だとtemplateの魔力を使ったC++を使えばこんなことする必要はないですが、古いC言語で書かれたライブラリなんかに、関数ポインタを引数として渡す必要がある場合のお話。以下のコードでは、関数ポインタ(typedef double(*Simulate)(double x))を引数にと…

線形代数ライブラリEigenの資料まとめ

C++

C++のテンプレートメタプログラミングを活用した線形代数ライブラリであるEigenに関連した資料へのLINKまとめ。 公式ドキュメント とりあえずここを探す。 Eigen: Main Page 特にクイックリファレンスガイド良く見る。 Eigen: Quick reference guide 講演資…

カイ二乗値を計算する

今まであまり考えないで検定用の関数に突っ込んでたんで実際に計算してみんとす。例が悪くてあれなんだが、以下のような取引戦略A・B、およびその勝敗のデータがあったとする。 > x <- matrix(c(110, 119, 200, 207), 2, 2) > rownames(x) <- paste0("Strate…

可視化で理解する中心極限定理(ベルヌーイ分布編)

こういう話がある。 可視化で理解する中心極限定理 #rstatsj 非常に素晴らしいので、指数分布じゃなくて、ベルヌーイ分布版をアニメーションにしてみた。 下図は ベルヌーイ分布(コイン投げでいうところの表が出る確率p=0.2)からサンプリングしたデータのヒ…