2012-01-01から1年間の記事一覧

1.7章「高階関数」

これまで関数に関数を渡す必要のあるプログラムはあまり書いたことがないので、高階関数はいつも混乱。使いどころを間違えなければシンプルで便利そうなんだけど。あと、どうもmapcar/apply/funcall/reduceがまぎらわしい。 (mapcar #'- '(2 3)) ;=> (-2 -3)…

横浜中華街に油辣椒を買いに行った

家で使っている中華な調味料が底をついたので、横浜中華街で遅めの昼食を兼ねて買い出し。今回買ったのは全て老干媽(ラオガンマ)のもので、以下の6種類(写真左から右へ)。 油辣椒(ユーラージャオ) 風味豆豉油制辣椒(フウミトウチツィユセイラージャオ…

目次と正誤表

この手の本を買ってまず最初にすることは目次の確認。あと正誤表や配布コードの入手。どちらも出版社のサイトにhttp://www.seshop.com/product/detail/12043/にある。まず、目次は以下のとおり。

PAIP買った

ポイントが溜まっていたのでアキバのヨドバシカメラで『実用 Common Lisp』を購入。Common Lisp界の名著と名高い『Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp』の日本語版。ちょこちょこと勉強していこうと思う。

Lionでのemacs-23.3bのビルド

http://sakito.jp/emacs/emacs23.html#imeを参考にしつつ、再度Emacs.appのビルドに挑戦。環境はMacBook Pro 13 (Mid 2009) + Mac OS X 10.7.3 + Xcode 4.3.2 (w/ Command Line Tools)。コマンドラインから使えるCコンパイラは以下のバージョンでした。 $ cc…

モンテカルロ法で円周率の(並行)計算

先日Matlabで書いたものと同じアルゴリズムを、Juliaで並行計算できるようにしました。 tic() N = 1000000; K = 1000; est_pi_total = @parallel (+) for k=1:K x = rand(N); y = rand(N); 4*( sum(x.*x + y.*y < 1) / N) end printf("K=%d N=%d ==> pi=%f\n…

モンテカルロ法で円周率の計算

今年度、Octaveで簡単な統計計算をする授業をやっているのですが、その中で大数の法則と中心極限定理の説明をするための一例として、モンテカルロ法で円周率を計算する練習問題を出題しました。座標軸上(0,0)-(1,1)に1辺が長さ1の正方形があり、それに接する…

Windows 7のマウスホイールを上下逆に

Mac OS X 10.7 Lionでは、これまでのマウスホイールとは上下逆方向の挙動をします。これまではスクロールバーを上下に動かすのと同様の方向でしたが、Lionからはそれが逆です。ウェブページを閲覧しているときに、ウィンドウからはみ出て下に隠れている部分…

Pd Recipe Book

Max/MSPにしてもSuper ColliderにしてもC/C++を使うにしても、オーディオ・プログラミングの世界は書籍が圧倒的に少ないのが現状です。とくに入門書がない。ゲーム制作入門書のごく一部に「あらかじめ用意したWAVファイルを再生」くらいしか書かれておらず、…

Ambisonicsのフォーマット変換

AmbisonicsのA-FormatからB-Formatに変換するMatlab/Octaveプログラムをつくろうと思ったら、あまりにあっけなかったのでここに載せておきます。 function [W,X,Y,Z] = ambisonicsABconversion(LFU, RFD, RBU, LBD) % Ambisonics Format-A to Format-B Conve…

ちょっとしたグラフを描いてみる

Juliaのウェブ・インターフェースを使えば、ちょっとしたグラフだったら簡単に描くことができます。たとえばWolfram Alphaにグラフを描くサンプルが掲載されていたので、同じものをやってみました。Juliaでは以下のようにすれば、定義域xに対する値域x^3-6x^…

Homebrew + MacTeXのUTF-8環境でLaTeX2HTMLを動かすメモ

Homebrew環境ではpLaTeXを導入させてもらえず、MacTeXを導入することになります。するとUTF-8のTeX環境となるので、これまで使ってきたEUC-JP用のLaTeX2HTMLが動作しなくなります。新学期に向けてLaTeX2HTMLが必要なので、UTF-8化したLaTeX2HTMLをインストー…

再インストール

Juliaのプリリリース版を使っていたけれど、再インストールしてみました。何が変わったというわけではありませんが、とりあえずバージョン番号は上がっているようです。これまでは $ julia --version $ julia _ _ _ _(_)_ | (_) | (_) (_) | A fresh approac…

関数とメソッド

Juliaのマニュアルの目次は以下のようになっています(括弧内は丸井綜研訳)。 Introduction (はじめに) Getting Started (動かしてみよう) Integers and Floating-Point Numbers (整数と浮動小数) Mathematical Operations (数学演算) Complex and Rational…

統計の準備

簡単な統計ならすぐにできます。 julia> A = randn(5) #標準正規分布に従う乱数列を生成 [0.933857, 0.716588, 0.847243, 0.509315, 0.443582] julia> mean(A) # 平均 0.6901170571664779 julia> std(A) # 標準偏差 0.21110850675084233正規分布の確率関数な…

行列演算

Matlabにそっくりな文法なので、いろいろ行列演算をしてみました。「#」は、Matlabの「%」やJavaの「//」に相当するコメント記号で、そこから行末までが無視されます。 julia> A = randi(6, 3, 3) # 1〜6の乱数で3x3の行列を作る 3x3 Int64 Array: 5 6 5 1 3…

Juliaの便利環境を準備する

hiraxさんのように色々な曲線を描きたいので、同じやり方でやってみました。まずはウェブサーバーとして動かすための準備。ターミナルから以下のコマンドでJuliaサーバーをビルド。 $ make -C external install-lighttpdビルドできたらサーバーを立ち上げま…

Juliaのビルド (Mac OS X 10.7.3 / Xcode 4.3)

Mac OS X 10.7.3、Xcode 4.3の環境でJuliaをビルドする方法です。XcodeはApp Storeから無料で入手できます。ただし、現行のバージョン4.3からはコマンドライン・ツールがオプションなので、追加インストールする必要があります。Xcodeを立ち上げたあと、メニ…

Octave 3.4.0バイナリ・パッケージをLionで動かす

2月13日(月)に更新されたREADMEファイルの抄訳です。Mac OS X Lion 10.7.3でOctave-Forgeのバイナリに付属しているGnuplotを動かそうとすると以下のようなメッセージが出てプロットがされません。 dyld: Library not loaded: /usr/X11/lib/libfreetype.6.dyl…

なぜ僕らはJuliaを作ったか(翻訳)

僕は言語を作るきっかけとか思想とかに興味があるので、日頃から新言語を見つけてはニヤニヤしてるんですが、つい昨日Juliaという新言語のリリース記事を読んで、面白そうだったので、紹介がてら粗く翻訳してみました。なぜ僕らはJuliaを作ったか(原文:Why…

fftfiltを使うときに注意すること

Matlab 2011bで、単純な低域フィルタ [0.5 1 0.5] とインパルス的な [5 1 1 1 1] をfftfiltを使って畳み込みしてみたところ、fftfiltをそのまま使った場合、尻尾が切られてしまいます。 >> fftfilt([0.5 1 0.5], [5 1 1 1 1]) ans = 2.5000 5.5000 4.0000 2.…

自分のためのMacPorts設定

最近はHomebrewのほうが良さそうな雰囲気ですが、僕はLaTeX2HTMLのためにeuc-jp環境のLaTeXが必要なので、MacPortsを使っています。HomebrewでLaTeXをインストールしようとすると「MacTeXってディストリビューションがあって、チョー便利だからそれ使った方…

ウェブ・ホスティング・サービス変更

明けました。今年もよろしくお願いします。さっそくですが、本日をもってMgSoft.orgを、PowWeb.comからさくらインターネットのウェブホスティングに変更しました。PowWebに契約したのは2004年のことでした。当時、サービス内容の充実ぶりに対してかなりの安…