2005年10月12日

matlabで行列データを格子状に視覚化する方法

A = [1,0,0;0,1,0;0,0.5,0.7];      % 視覚化対象の行列
[x,y] = size(A);            % 行列の大きさを測る
colormap(gray); % カラーマップを白黒にする
pcolor([A,zeros(x,1);zeros(y+1,1)]);  % 行列サイズを1行1列を大きくしてプロット
colorbar; % カラーバーを表示
axis ij; % 左上が最小になるように変更
axis square; % 正方形になるように変更

pcolor(およびsurf)は、shadingがデフォルトのfacetedもしくはflatの場合、
各格子はその格子に接する最も小さいx-y座標の値に色をあわせ、
最後の行と列は無視される。
そのため、行列サイズを1行1列大きくしている。

pcolor.png

colormapのgrayは0から1にかけて黒から白になるが、
逆に白から黒にするには、grayの行列を上下逆にすればよい。
colormap( flipud(gray) );

gridの線を消すには
shading flat;
posted by xi at 00:14| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

CとC++での文字列処理

C言語の文字列型(char*)をC++の文字列型(string)に変換

char* c = "test" ;
string cpp( c ) ;

C++の文字列型(string)をC言語の文字列型(char*)に変換

string cpp = "test2" ;
char* c = cpp.c_str() ;
posted by xi at 00:07| Comment(0) | TrackBack(0) | コンピュータ | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。