2013-06-01から1ヶ月間の記事一覧

RとC++とで関数をかき分けて練習する

No inputs, scalar output returnOneR <- function(){ return(1) } #include <Rcpp.h> // [[Rcpp::export]] int returnOneCpp(){ return(1); } int add(int, int, int); int returnOneCpp(); > sourceCpp("returnOneCpp.cpp") > returnOneCpp() [1] 1 Scalar input, </rcpp.h>…

Rcpp 0 からやりなおし

こちらのようにRtoolsの導入で躓いたのだが、まあ事なきをえたということでRtoolsが使えるので、こちらのRcpp解説記事をなぞってみます cppFunction()を使う library(Rcpp) cppFunction(' int add(int x, int y, int z) { int sum = x + y + z; return sum; …

再起動…

Rtoolsを入れるとき、以前は、パスを書き換えますか?と聞いてきたけれど、今は、デフォルトで書き換え、の模様 それで入れてみて再起動を繰り返すも、うまくいかない… 環境変数を覗いてみればちゃんと書き換わっている… 諦めてシャットダウンして翌日立ち上…

constでバグを減らす

C

こちらから 関連よみものページ(こちら)

C++の関数はあるんだけど…というとき

ここ数日の記事はC(→C++)とそれを見越してのRcpp Rstudioと連携しての実行、さらにパッケージ化とかに手を染めるが、pathやらコンパイラやらで面倒多し とりあえず、Rstudioを言われた通りにいれる(こんな風に)とその上では、C++ソースをsourceCpp()で使える…

RcppのsourceCpp()とパッケージ作成

こちらの時代はRcppでのRとC++の連結では、inlineというのを使ってRのコードの中にC++対応のソースを書いて…というやり方だった RcppにsourceCpp()という関数ができて、C++で書いた関数を読み込む、というように変化していた この方が楽 それについてはここ…

構造体

C

構造体を使ってみる 値列の要素数・平均・標本分散・不偏分散を持つ構造体を作ってみる ヘッダファイルで構造体の作りを宣言("DescriptionStat.h"というファイル) // DescriptionStat.h struct DescStat { int n; //number of values double m; //mean doubl…

グローバル・スタティック・ローカル

C

変数の扱い 当該関数内での使い捨て:ローカル コンパイルして一塊になっている全体で共通:グローバル 同じ変数名で使いまわせるが、関数処理が終わっても(オブジェクトの持ち物のように)継続して持たせられるもの(?) 参考1 参考2

プロトタイプ宣言、ヘッダーファイル、インクルード

C

どんな関数が定義されているかを宣言するプロトタイプ宣言:hoge.h 宣言した関数の処理が書かれているファイル:hoge.c hoge.hに宣言されていてhoge.cに書かれている関数を使う別のソースファイル:my.cでは、hoge.hに宣言されている関数を使います、と冒頭で…

ポインタを使って複数の値を返す

C

こちらにポインタを使って2つの値を返している例がある 拝借する #include <stdio.h> void foo(int i, int *m, int *d); void foo(int i, int *m, int *d) { *m = i%10; *d = i/10; } main() { int i,j; foo(123,&i,&j); printf("%d , %d\n",i,j); } 結果 ryamada@CF</stdio.h>…

関数の作成、ヘッダファイル

C

関数の作成としてこちらでは暦を扱っている。 includeの使い方(こちら)と、関数の定義とそれを使ったmain()関数を作る、ということのようなので、メルセンヌ・ツイスターの一様乱数を使った逆変換法による指数乱数発生をやってみる(こちら) includeではstdio…

ポインタ、アドレス

C

#include <stdio.h> main () { int a[5] = {1,2,3,4,5}; int *p; int i; p = a; //配列の先頭ポインタを取得 p = &a[0]の省略形 for (i = 0; i < 5; i++) { printf("%d\n",*(p+i)); printf("%d\n",p+i*5/2); } } ポインタを使って、ポインタが指しているaの中身を表示</stdio.h>…

配列の要素数のオーバーフロー

C

配列の要素数のオーバーフロー(参考) ちゃんと割り付けしていないのに、回ってしまうこと。場合によってはメモリの使い訳がコントロールされていない状態(結果がむちゃくちゃ)になるらしい #include <stdio.h> int main() { int test1[5] = {1,2,3,4,5}; test1[10] = </stdio.h>…

Rstudioを使ってRcppする

こちらにあるように、Rの最新版(R2.15.0で始めたら対応していなかった…R3.0でやり直して成功した)で、Rtoolsを入れて、Rstudioも入れた RstudioのC/C++ファイル作成機能などを使ってやった こちらも参考 注意! // [[Rcpp::export]] はコメント行かと思った…

unsignedという型の扱い

C

こちらの続き こちらをなぞる unsigned という型のコントロール法があるらしい。下の例ではうまくいっていないようだが… コメントをいただき、"printf("%u\n",num);"とすると負でなくなりました #include <stdio.h> main () { int counter =1; unsigned int num; num </stdio.h>…

ANOVAを題材にRの練習をする

分散、平方和、総当たり variance, total sum of squares, pair-wise 分散は全要素のペアワイズな違いの足し合わせの指標 variance is an index of sum of pairwise difference of all elements # Make a numeric vector with a given length 指定の長さの数…

ANOVAを題材にRの練習をする

k-NN entropy

NN entropy: Nearest Neighbor entropyは、標本座標が与えられたときに、各標本の最近傍点との距離を用いて標本の母集団のエントロピーを推定する方法のこと k-NN entropyは最近傍点の代わりに、第k近傍点を用いる方法のこと 標本座標の次元をm、標本数をn、…

ミカエリス-メンテンとアロステリック

アロステリック効果をパラメタ化して、その意味を拡張してみる # リガンド濃度を等間隔刻み L <- seq(from=0,to=20,length=100) # Kaは適当に Ka <- 2 # nをパラメタ化する ns <- seq(from=-2,to=2,length=5) # 目的変数thetaの値をnの値ごと・Lの値ごとに格…

反応速度論

おとなのための数学書

数学セミナー 2013年 07月号 :素朴で奥深い整数の世界出版社/メーカー: 日本評論社発売日: 2013/06/12メディア: 雑誌この商品を含むブログ (1件) を見る この中の記事『おとなが勉強したいときに読む数学書』から、「そうそう」という言葉を抜き書き 「さま…

ばらばらなこと

昨日、正則サイコロについて勉強した(こちら) 構成要素が均一なのか、その大部分が等しくてごく一部が飛び離れているのか、均等間隔でばらばらなのかによってサイコロ対抗戦の勝率・不敗率などが決まってくる、という話だった こちらで「医療現場」が2通り…

ぱらぱらめくる『Simultaneous localization and mapping with the extended Kalman filter』

PDF 目次 1 SLAM 2 EKF-SLAM A Geometry B Probability C Matlab code 1 SLAM 探索するロボットが周囲の地図を作り上げる方法 SLAMをするときに使うもの・こと 動き回るロボット 移動先で環境が面白い特徴(ランドマーク)を持つかどうか発見する 探索したとこ…

2系統?それは2次元処理系が2通りにしか分離できない脳神経系の機構のせい?

感覚 聴覚は情報を時間軸上で逐次処理する情報処理系 視覚は情報を2次元処理する情報処理系 どちらも2次元 言語と論理 言語と論理は1次元上の(原則として)一方通行の情報処理ののちに、受け取った情報の総合的な答えに行き着く処理 幾何・絵画と統計 幾何…

メモ

PDF高次元と疎な具合 modelcfパッケージ(R):多様体の次元推定。局所を線形扱いする手法とか

ぱらぱらめくる『ゲーデル・エッシャー・バッハ』

Godel, Escher, Bach: An Eternal Golden Braid作者: Douglas R. Hofstadter出版社/メーカー: Basic Books発売日: 1999/02/04メディア: ペーパーバック購入: 4人 クリック: 20回この商品を含むブログ (7件) を見る よくわからない内容をわからないままに学習…

Cを基礎から

C

職場の友人がCをゼロから勉強する、というので、一緒に覚えることにしました。 まず、環境整備。職場でも家でも移動中でも勉強したいときにできるのが良いので、Cygwin上でやることにしました。 Cygwinを入れる:こちら(代数統計アプリsingularを入れるとき…

数学という形式科学

こちらに、入試の数学問題を解くのが好きか嫌いかのアンケート(対象は主に京大医学部医学科生:京大の医学部が主体となって一般教養科目として提供している医学概論のリレー講義の中の1コマ『数理解析』でのアンケート。履修者は大多数の医学科生と少数の他…