Matlabを高速化するためには、forループの計算をできるだけベクトル化することが重要である。
そのために有用なMatlab関数をまとめる。

bsxfun %%%%%%%%%%%%%%%

プログラム例
A = magic(100);
tic
B = bsxfun(@minus, A, mean(A));
toc
tic
C = zeros(100);
for n = 1:100
C(n,:) = A(n,:)-mean(A);
end
toc
isequal(B,C)

出力例
経過時間は0.000171秒です
経過時間は0.005295秒です
ans = 1

reshape %%%%%%%%%%%%%%

プログラム例
A = rand(1200);
tic
B = reshape(A,25,[]);
B = sum(B);
B = reshape(B,48,[]);
B = reshape(B',25,[]);
B = sum(B);
ave_B = B./(25*25);
ave_B = reshape(ave_B,48,48);
toc

tic
for n = 1:1200./25
for m = 1:1200./25
ave_C(m,n) = mean(mean(A(25*n-24:25*n, 25*m-24:25*m)));
end
end
toc

出力例
経過時間は0.003780秒です
経過時間は0.108214秒です


accumarray %%%%%%%%%%%%%%%%%%%%%


histc %%%%%%%%%%%%%%%%%%%%%%%%%%

A = rand(100,1);
tic
N1 = histc(A,0.005:0.01:0.995);
toc
tic
N2 = zeros(100,1);
for n = 1:100
N2(n) = sum(A>=n*0.01-0.005 & Aend
toc
isequal(N1,N2)

経過時間は0.000047秒です
経過時間は0.001292秒です
ans = 1


diff %%%%%%%%%%%%%%%%%%%%

A = rand(100,1);
tic
diff1 = diff(A);
toc
tic
diff2 = zeros(99,1);
for n = 1:99
diff2(n) = A(n+1)-A(n);
end
toc
isequal(diff1,diff2)

経過時間は0.000027秒です
経過時間は0.000242秒です
ans = 1

repmat%%%%%%%%%%%%%%%%%%%%%%%


permute %%%%%%%%%%%%%%%%%%%%%%

A = rand(100,100,100);
tic
B = permute(A,[2,3,1]);
toc
tic
C = zeros(100,100,100);
for l = 1:100
for m = 1:100
for n = 1:100
C(m,n,l) = A(l,m,n);
end
end
end
toc
isequal(B,C)

経過時間は0.011770秒です
経過時間は1.910813秒です
ans = 1


sparse %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

6-7月 まとめ

積ん読含む

書籍
・中陰の花 玄侑宗久
・ぐるりのこと
・新約聖書 フランシスコ聖教会
・世界はべき乗則で動く
・虎よ、虎よ!
・完全自殺マニュアル
・打ちのめされるようなすごい本
・本を読む本
・日本人の英語
・脳と魂
・地震と防災
・寝ながら学べる構造主義

映画
・愛のむきだし
・しゃべれどもしゃべれども
・ぐるりのこと
・紀子の食卓
・アカルイミライ
・ハッシュ
・野良犬 黒澤明
・トイ・ストーリー3
・踊る大捜査線3
・ちゃんと伝える
・山田家の人々
・ホワイトストーンズ1-3
・なんたってアイドル
・ドラバラ鈴井の巣 対決企画
・CUEジャンボリー 2006、2008
・麦の穂ををゆらす風
・みんな~やってるか!
・HANABI
・監督・ばんざい!

1.しゃべれどもしゃべれども

平山秀幸監督

原作を見てみたい。最終的にうまくまとまるのだが、登場人物の劇的な変化がいまいち伝わってこない。なんで主人公は突然しゃべれるようになったのか。学ばれ、学ぶという構図。

5月

・旅する力 沢木耕太郎
・走ることについて語るときに僕の語ること
・数学ガール 不確定性定理
・レポートの書き方
・父の詫び状
・理系のための口頭発表術

・アキハバラ@DEEP
・マッスルボディーは傷つかない
・水曜天幕團

3・4月の記録

図書
・成功の秘訣(中村天風)
・四畳半~
・考えない練習
・深夜特急2,4,5
・ヤノマミ
・アイデアを作る本
・サンガジャパン(雑誌)
・私が語り始めた彼は
・エジプトが好きだから

映画
・ソラニン
・半分の月がのぼる空
・ココ・シャネル
・アン
・NINE
・剣岳
・ミリオネア

2月の記録

読書
・googleの正体
・自壊する帝国
・プレゼンテーションZEN
・ハイコンセプト
・チャンスを広げる思考トレーニング
・佐藤雅彦全仕事
・ナインティナインのオールナイトニッ本1,2
・自転車生活の愉しみ
・身体の見方
・自殺

映像
・composer
・ハッピーフライト
・DMC
・Looser
・ghooost!
・茄子 アンダルシアの夏
・茄子 スーツケースの渡り鳥

TEAM NACSという奇跡

 ここ1ヶ月をかけて、DVD化されているTEAM NACSのお芝居を集中的を見てきた。

・下荒井兄弟のスプリング、ハズ、カム
・Composer
・Honor
・Looser

 僕はこれらの作品を今後も何十回となく、見続けることだろうとここに宣言できる。この感覚はなんとも説明しづらいというか、自分でもよくわかっていない。正直言って名作ではない。荒削りで平凡なのだが、何故か惹きつけられてしまう。

 ふと以前、茂木健一郎と佐藤雅彦の対談(もぎけんpodcastで聞けるはず)で佐藤雅彦が言った言葉を思い出した。それはちょうどピタゴラスイッチの話をしている時だったと思う。茂木が同じピタゴラスイッチを繰り返し何度でも見れてしまうのだが、その理由はなんでしょうと問いかけた時の、佐藤の回答にはっとさせられた。

「消費されないからじゃないでしょうか。」

佐藤曰く、明確に説明できてしまうものはすぐ消費されてしまう。装置もそういう要素の積み重ねだと、すぐに理解されて消費されてしまう。だから、部分的に消費されないような’たまたま’的な要素を紛れ込ませておく必要があると。うろ覚えだが、たしかこんな説明だった気がする。

 TEAM NACSのお芝居にはこの佐藤が言うところのなんだか消費されないものがたくさん入っている気がする。彼らの出演する映画をいくつか見たが、それに関しては繰り返し見ようという気にはならなかった。この芝居もDVDで発売されているのだから当然編集もされているし生ではないのだが、お芝居独特の空気感が関係しているのかもしれない。

 なんだか結論がわからないけど、とにかくこれらの芝居作品群は、私にとって容易には消費されない稀有なものである。