
目次 >> MATLAB
ここではMATLABの使い方について述べる。
format long g
で、より多くの桁数を表示することができる。
MATLABにはdo-while文は用意されていない。
do-whileを実現するには下記のようにする。
cond=true; while cond %何かいろいろとやる cond = (条件式); end
x軸が共通で左右にy軸を持つグラフはplotyy()で表示できる。
x=0:0.1:2; y1=sin(x); y2=exp(x); plotyy(x,y1,x,y2)
このとき、単にaxis()関数を使ったのでは、左側のグラフしか変更できない。そのようなときは下記のようにするとよい。
x=0:0.1:2; y1=sin(x); y2=exp(x); [ax h1 h2]=plotyy(x,y1,x,y2); axis(ax(1),[0 3 0 2]) axis(ax(2),[0 3 0 20])
C言語のstrcatと同様のstrcatという関数が用意されているが、[ ]で簡単に連結することができる。
> strcat('abc','def')
ans =
abcdef
> ['abc' 'def']
ans =
abcdef
Matlabには3つのレンダリング手法が用意されている。Painters、ZBuffer、OpenGLの3つである。
デフォルトでは、Paintersになっているが、表示するデータやデバイスよっては変更することによって表示品質や描画速度を大幅に上げることができる。
まず、ZBufferであるが、Paintersではきれいに表示、印刷およびエクスポートできない画像に適用すると、きれいに表示することができる。ただし、表示速度は一般に遅い。
OpenGLは3D表示において威力を発揮する。グラフィックカードがOpenGLをサポートしている場合は特にである。
手短にまとめると、2D画像の場合は、ZBufferを3D画像の場合はOpenGLを選択すると一般的によい結果が得られる。
レンダリング手法の切り替えは、
set(gcf, 'Renderer', 'opengl')
あるいは、
set(gcf, 'Renderer', 'zbuffer')
のように行う。
set(0,'DefaultFigureRenderer','opengl')
また、OpenGLに関する情報は、
opengl info
で得ることができる。
グラフを描画する際のフォントサイズや線の太さなどのデフォルト値をstartup.mというファイルに書き込むことによって自動的に設定することができる。
startup.mのファイルの位置は、R2006b以前であれば、MATLABのインストールフォルダの中のworkフォルダ、R2007a以降であればMy
Documentフォルダの中のmatlabフォルダである。
基本的には、
set(0, 'Defaultほげほげ', 設定値);
のような書式をとる。
set(0, 'DefaultAxesLineWidth', 5);
set(0, 'defaultAxesFontSize', 24);
set(0, 'defaultFigureColormap', jet(1024));
set(0, 'defaultAxesBox', 'off');
グラフを大量に作成した時、一つ一つ手動で保存するのは大変である。
そんなときは、saveas関数を使うと便利である。
書式は
saveas(h,'filename.ext') saveas(h,'filename','format')
である。hはハンドルであるので、現在表示しているグラフであれば、
saveas(gcf,'filename.jpg')
の様になる。最初の書式の場合、拡張子によって自動的にファイルのフォーマットが決まる。
2つめの書式では、フォーマット直接指定している。