matlab

Earth Mover's Distance

http://www.seas.upenn.edu/~ofirpele/FastEMD/code/ http://www.mathworks.com/matlabcentral/fileexchange/22962-the-earth-movers-distance http://fr.cyclopaedia.net/wiki/Earth-mover,-s-distance http://ai.stanford.edu/~rubner/emd/default.htm htt…

CentOS JRE更新

Matlabのバージョン更新に先立って、CentOSのもろもろのパッケージを更新するべぇと思い立つ。意外とめんどくさいと思ったのがJavaの更新。ひとまずメモっておく。JRE 6 がインストールされた状態で JRE7 をインストールしようとすると競合をおこすので、今…

フォントリスト

作図時のフォント変更の際に利用できるフォントリスト。 $ list = listfonts

mex コンパイル (初期設定)

Mac にインストールした matlab にて mex ファイルを作成しようとするも以下のエラーが. /Applications/MATLAB_R2011b.app/bin/mex: line 305: gcc-4.2: command not found Mathworks のサイトにて似た症状のユーザーの質問とそれに対する回答を発見.Xcode…

FLANN

最近傍探索のライブラリ. http://www.cs.ubc.ca/~mariusm/index.php/FLANN/FLANN

顔検出(途中)

http://staff.science.uva.nl/~anoulas/MatlabFaceDetector.html - -

Webカメラ利用

Webカメラから画像をキャプチャーする.Acquisition Toolbox 買わないとダメかなぁと思ったら,フリーのいい道具があるじゃないですか奥さん(謎.http://www.ikko.k.hosei.ac.jp/~matlab/matkatuyo/vcapg2.htmMicrosoft's DirectShow librariesを利用するか…

最近傍点探索

Locality sensitive hashing(LSH) http://www.mit.edu/~andoni/LSH/ ANN (Matlab Wrapper) http://webscripts.softpedia.com/script/Scientific-Engineering-Ruby/Mathematics/ANN-MATLAB-Wrapper-33976.html (C++) http://www.cs.umd.edu/~mount/ANN/

構造体

2つの,行列Fとベクトルvがあるとき, S = struct('fea',F,'id',v); アクセスは次のように. S.fea(1,1); S.id(2); さらに複数の行列等を格納したい場合は次のように. S = struct('fea',{F,V,U},'id',{v,u,w}); アクセスは S(1).fea(1,1);%Fの1,1要素にア…

Matlab 文字表示

Maltabで文字表示することなんて,まあないだろうと思っていた.が,計算時間がかかるコードを実行する際,どの程度まで進んだか確認するために使ってみたいということもある.表示させると,その分だけ計算時間が若干長くなるが・・・. fprintf('hogehoge\n')…

データベース・大量の画像ファイルの読み込み

大量のデータをMatlabで読み込む際,ファイルが1つや2つならともかく何千個もある場合はtextreadやimreadを何千行も書くわけにはいかない.簡単な方法を思いついたのでメモ. まず,端末上でデータの収まっているディレクトリに移動し,ファイルのリストを作…

カラー画像からグレースケール画像への変換

関数rgb2grayでNTSC 加重平均法を使った変換が可能.とっとと実験しろよ、という具合.

Matlab clones

よくまとまっているMatlab cloneの紹介ページとか.古い資料もある. DPS Matlab clone link: http://www.dspguru.com/dsp/links/matlab-clones Scilabを中心としたMATLABクローン即席入門講座: http://www.bekkoame.ne.jp/~ponpoko/Math/Scilab.html 数値演…

グラフのアスペクト比

to be written グラフのx,y,z軸の比を変える. pbaspect([x,y,y]);%x:y:z

sprintf

matlabでファイル名にインデックスをつけて出力したい場合, filename = sprintf('hogehoge%03d.pgm',i); imwrite(uint8(img),filename,'pgm'); と書く,一方C++では char filename[100]; sprintf(filename,"hogehoge%03d",i); 〜 という感じ.本日,うっかり…

ルンゲクッタ法(メモ)

常微分方程式,初期値が与えられたとき,ルンゲクッタ法で計算することができる. はxの刻み幅で計算したい値までを繰り返して計算する.n階の微分方程式もn個の1階微分方程式に分けることでルンゲクッタ法で計算できる. 単振動を考えるとき,という式が与…

Gaussian Filter と ダウンサンプリング

matlabでガウスカーネルを作成. g_kernel = fspecial('gaussian',hsize,sigma); 第1引数がカーネルの種類で,それ以降の引数は種類による.今回はガウシアンカーネルなので第2引数でカーネルサイズ(行列の大きさ),第3引数でガウス分布の標準偏差を指定す…

最小2乗近似曲線

まず適当に乱雑な点を生成してみた. >plot(X,y,'b+'); >hold on で,この点集合を通る最小2乗曲線近似直線を書いてみた. 多項式の字数は3とした. Matlabのpolyfit・polyval関数を使った. >P = polyfit(X,Y,n) %[X,Y]を通るn次多項関数を求める >poly_y …

GUI

matlabを使ってGUI表示をさせることを検討中.matlabはマルチプラットフォームに対応させるためにJavaかなんかでグラフィックを制御しているわけだけれども,それが結構いい加減というか信頼できないところもあるんだよな・・・.グラフを描くにしてもGnuplo…

手書き数字・データセット

プレゼン用に訓練データ・質問データを図示できる画像を作ろうかと思い,手書きの数字データセットを探していたらこんなのを発見. http://yann.lecun.com/exdb/mnist/ 手書き数字のデータベースだった. Matlab用にmatファイルかなにかに書き換えて使いたい…

マルチスレッド計算

matlabは2007aからマルチスレッド計算が可能になっている. MATLAB7.4(R2007a)〜MATLAB7.7(R2008b)の場合はマルチスレッド計算を有効にするためには,File→設定(preferences)→一般→マルチスレッディング,からマルチスレッディング計算を有効,という項に…

共役勾配法 その2

http://www.stanford.edu/group/SOL/software/lsqr.htmlmatlabではこれを使っていた,はず….

Matlab toolboxの追加

すでにインストールしてあるMatlabに,新しく購入したToolboxを追加するためにはもう一度再インストールする必要があるみたい.Toolboxだけを追加することはできなかった,というかやり方がわからなかった.Windowsの場合はインストーラを起動して再インスト…

Matlab の高速化(?)

matlab でコードを書いているとき,Editor がご親切にも警告を発していることに最近気がついた(おい…).Editor の右端に黄色っぽい線が表示されるが,それが警告対象となった記述の位置を示しているようだ. Matlab では配列,行列の要素の数をはじめに定…

pgm → eps の拡張子変換

Ubuntu 上で,Image Magick を使う.いつもやり方を忘れるので,メモしておく.matlabで,image や figure で表示し,タブからファイルの保存を選択して eps 画像を出力した場合,縦横に座標が出たりする.もちろん表示させない設定があるのだろうが,よくわ…

for 文

matlab のループに for 構文がある. for i = 1:N 処理 end matlab の2重ループは非常に原則として使わない方針だが,ループの回数が少ないものをあるループの中に入れる場合がある.help には for R = 1:N for C = 1:N A(R,C) = 1/(R+C-1); end end とある…

行列のサイズ変更等

以前にベクトルから行列に変換する関数 vec2mat のことをここに書いたが,それと似たような働きをする関数に reshape 関数があった. A = reshape(X,m,n); これで m 行 n 列 の行列 A が m*n の配列 X から作られる.というわけで,前回作った列ベクトルを行…

画像にノイズをかける

なんらかのシステム評価として,与えるデータにノイズをかけてデータをとりたい場合がある.画像の場合は,matlab に用意された関数でお手軽にノイズがかけられる.が,与えるデータの型を考えてノイズをかけないと,おかしなデータになる. つぎの関数はノ…

pgm書き出し

以前画像データの書き出しをメモしておいたが,pgm画像の場合はこんな感じか. imwrite(uint8(image),'test_output.pgm','pgm')

Matlab code

実験に使えそうなデータセットとか Matlab 用のコードが置いてあるページ. http://www.cs.uiuc.edu/~dengcai2/Data/data.html