グラフの作成 | MATLAB基礎10

グラフ化するデータの作成

前回はスクリプトファイルの作成について説明しました。今回からグラフの作成について説明します。

グラフを作成するにあたって、まずは「basic10.m」という名前のスクリプトファイルを作成します。そしてグラフ化するためのデータを下記のように作成します。

MATLAB
x = 0:pi/20:2*pi;

ここでpiは円周率をあらわす値でMATLABで予め準備されています。この例ではベクトルの操作 | MATLAB基礎5の「便利なベクトルの生成方法」で紹介した方法を用いて行ベクトルを生成しています。0からpi/20間隔で2*piまでのベクトルを作成できました。

plotを使う(1入力)

早速作成したxをグラフ化します。先ほどのスクリプトファイルにplot(x)を追加して下記のように変更します。

MATLAB
x = 0:pi/20:pi;

plot(x)

その状態でスクリプトを実行すると下記のようなグラフが生成されます。

figure plotを使う(1入力)

xは41要素あるベクトルなので、横軸が1,2,..,41のサンプル数を示し、縦軸が0,pi/20,2*pi/20,…2piのxを示す直線のグラフが作成されます。

plotを使う(2入力)

上で1入力のplotを作成しましたが、今度は横軸と縦軸の両方を指定します。縦軸に使用する値yを事前に計算し、plot(x)をplot(x,y)の記述に変更します。そうするとスクリプトは下記のようになります。

MATLAB
x = 0:pi/20:2*pi;
y = sin(x);

plot(x,y)

この状態で実行をクリックするとFigureが下図のように変更されます。

figure plotを使う(2入力)

上のグラフは横軸x(0~2π)、縦軸yのsinカーブのグラフになります。横軸、縦軸の両方を指定しても数行でグラフを作成することができました。

横軸と縦軸を指定する場合ベクトルのサイズが同じでなければいけません。y = sin(x)と記述することで、xと同サイズで各要素がxのsin値であるベクトルyを作成している点に注意が必要です。そのため、xとyは同じサイズのベクトルになったため、plot関数で縦軸と横軸に使用できました。

グラフを重ねて表示する

続いては2つのグラフを重ねて表示する方法です。先ほどのスクリプトを下記のように変更します。y1 = sin(x),y2 = sin(2x)とし、plotへの引数を(x,y1,x,y2)としました。

MATLAB
x = 0:pi/20:2*pi;
y1 = sin(x);
y2 = sin(2*x);

plot(x,y1,x,y2)

実行して作成されるグラフは下記のようになります。

figure グラフを重ねて表示する

青色のy1 = sin(x)とオレンジ色のy2=sin(2x)が重ねて表示されています。plot関数ではplot(x1,y1,x2,y2)のように横軸と縦軸の複数の組み合わせを入力することでグラフを重ねて表示することができます。今回の場合共通のxを使用したため、x1,x2を用いずにplot(x,y1,x,y2)という記述にしました。なお、複数のグラフを重ねて表示する場合(x1,y1),(x2,y2)それぞれの組み合わせでベクトルのサイズがそろっている必要がありますが、x1とx2は異なるサイズでもグラフを作成することは可能です。

まとめ

グラフの作成方法として最もベーシックなplot関数を紹介しました。1入力の場合、2入力の場合、そして2つのグラフを重ねて表示する方法について説明しました。次回はグラフの装飾について説明したいと思います。先ほど作成したスクリプトを下記に載せておきます。次回はグラフの作成2ということで見た目の調整方法をご紹介します。

MATLAB
x = 0:pi/20:2*pi;
y1 = sin(x);
y2 = sin(2*x);

plot(x,y1,x,y2)

関連記事

コメント

この記事へのコメントはありません。