Mex再び

 Matlabでデータ解析をしていると、アルゴリズムによってプログラムが遅くなることがあります。原因はForループ(繰り返し計算)を多用することであることが多いです。Matlabでは基本的に行列をつかった計算を前提につくられているのですが、今やっている解析ではどうしてもForループを使わざるを得ません。仕方がないのでまたmexでCプログラムを組むことに。mexを使うことでMatlabからCに行列データを渡し、外部処理としてCプログラム上で計算をして、またmatlabに結果を返すというプロセスを踏むことになります。面倒ですが、実際の計算処理時間はかなり短縮されるので、手間をかけてプログラムを組んだほうが結果的には時間の省略になります。というわけで、今日は一日デスクワーク。明日こそ実験を。