2010-01-23から1日間の記事一覧

awkの2次元配列

awk

行列 1 2 1 3 2 100 (1)2次元配列に代入。 方法1:まずは手で直接書いて配列に代入。 $ awk 'BEGIN{a["1a2"]=1;a["1a3"]=1;a["2a100"]=1;for(i in a){split(i,k,"a");pr int k[1],k[2],a[i]}}' 1 2 1 1 3 1 2 100 1 方法2:ファイルから $ awk '{a[$1"…

 awkでページランク

Rで求めきれない大きいネットワークの ページランクでawkで求める。 awkaでコンパイルするとさらに速くなるはず。

awka :awkをC言語に翻訳して早く実行

awkをC言語に翻訳して早く実行 コンパイルとインストール $wget http://awka.sourceforge.net/awka-0.7.5.tar.gz $gzip -d awka-0.7.5.tar.gz $tar -xvf awka-0.7.5.tar $cd awka-0.7.5 $./configure $make $make test 使い方 まずこれを作る awk2c.sh #!/bi…

GSLをC言語から利用する。

GSLはフリーの科学技術ライブラリ。 数値計算で必要なものはほとんどある。 以前はrubyで使用したが今度はC言語で利用する。サンプルプログラム #include <stdio.h> #include <gsl/gsl_sf_bessel.h> int main(void){ double x=5.0; double y=gsl_sf_bessel_J0(x); printf("J0(%g)=%e",x,y);</gsl/gsl_sf_bessel.h></stdio.h>…

GSLのインストール。

C

GSLはフリーの科学技術ライブラリ。 数値計算で必要なものはほとんどある。 以前はrubyで使用したが今度はC言語で利用する。http://www.econ.umn.edu/~steve/gsl/ダウンロード $ wget ftp://ftp.gnu.org/gnu/gsl/gsl-1.9.tar.gz 解凍と展開 tar -zxvf gsl-1.…

Rでページランクの計算

Rでページランクの計算 package igraphをインストールした後。 ノートPCでかなり大きい行列 まで求められた。 libray(igraph) in1<-c(0,0,1,2) out1<-c(1,2,2,0) x_y <- cbind(out1,in1) g<-as.directed(graph.edgelist(x_y)) p<-page.rank(g) tkplot(g) p$v…

Rで連立一次方程式の解を求める。

R

Rで連立一次方程式の解を求める。 solve関数を使える。 http://cse.naro.affrc.go.jp/takezawa/r-tips/r/20.html a <- matrix(c(0,1,2,3,4,5,6,7,9), 3,3) b<-matrix(c(1,0,-2)) solve(a,b) # 3y + 6z = 1 # x + 4y + 7z = 0 # 2x + 5y + 9z = -2 >|sh| [,1]…

awkでヤコビ法

awk

awkで連立方程式をヤコビ法で解く。 $ cat gai.awk BEGIN{ a["1a1"]=5;a["1a2"]=2;a["2a1"]=3;a["2a2"]=6; b[1]=5;b[2]=5; y[1]=1;y[2]=1; for(k=1;k<=35;k++){ for(i in a){ split(i,out,"a"); if(out[1] !=out[2]){ l[out[1]]=l[out[1]]+a[i]*y[out[2] }el…