Twitterに投稿 はてなブックマークに追加 Yahoo!ブックマークに追加 Google Bookmarksに追加

目次 >> MATLAB

MATLABの使い方

ここではMATLABの使い方について述べる。

表示桁数を増やすには?

format long g

で、より多くの桁数を表示することができる。

do-whileを実現するには?

MATLABにはdo-while文は用意されていない。
do-whileを実現するには下記のようにする。

cond=true;
while cond

%何かいろいろとやる

cond = (条件式);
end

ployyで軸の範囲を設定するには?

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つめの書式では、フォーマット直接指定している。



本文中のFC4はFedora ProjectのFedora Core 4を、FC5はFedora Core 5を、FC6はFedora Core 6をopenSUSEはNovellのSUSE Linux OSSを表します。Fedora7以降は、単にFedora7、Fedora8、Fedora9、Fedora10、Fedora11、Fedora12、Fedora13、Fedora14、Fedora15と表示しています。Ubuntuは、必要に応じて10.04、11.04のようにバージョン番号をつけて区別しています。MandrivaはMandriva Linuxを表します。

ここに登場するドメイン名やIPアドレスなどはフィクションです。実在の人物・団体等とは一切関係がありません。
実際に使用する際は、各自の環境に合わせて書き換えてください。
もし何か間違いなどありましたらこちらからご連絡ください
リンクに許可は不要です。
Copyright (C) 2011 Chikuma Engineering Co., Ltd. All Rights Reserved.