Octaveで反比例の二次元グラフを描画

[投稿日] 2017年1月16日
[最終更新] 2017年2月21日

完成形

octaveで二次元グラフを描画します。反比例のグラフ(\(y = \frac{1}{x^2}\))を描きます。

スポンサーリンク

\(y = \frac{1}{x^2} (-10 \leq x \leq 10) \)を描く

octaveで\(y = \frac{1}{x^2} (-10 \leq x \leq 10 ) \)のグラフを描きます。これが描けたら、だいたい二次元グラフ描画のことは思い出せると思うので。

自動範囲でプロット

まず普通にplotします。

x = linspace(-10, 10, 1000);
y = 1 ./ power(x,2);
plot(x,y)

linspaceのところは、-10から10まで、1000のデータ点数という意味です。グラフ描画の際によく使います。;をつけないと、行列が出力されてしまい鬱陶しいので、;をつけます。power(x,2)は2のべき乗です。/の前に.がつくのは、スカラー演算だからです。.がないと、行列演算になってしまい、この例だとエラーになります。

これを実行すると、以下のようなグラフが出力されます。

自動範囲指定

今回の例の場合だと、ちょっとよくわからない感じです。yの最大値が大きすぎる感あります。

範囲を指定してプロット

axis([xmin xmax ymin ymax])とすることで、範囲を指定できます。以下のように書いてみます。

axis([-5 5 0 1])

以下のようなグラフが出力されます。

範囲を指定

わかりよくなった気がします。

装飾

x軸とy軸のラベル名、グラフタイトル、凡例(グラフの右上とかにあるやつ)をつけます。グリッドもつけます。

xlabel('x')
ylabel('y')
title('y = 1/x^2')
legend('y = 1/x^2')
grid on

以下のようなグラフが出力されます。

装飾後

いい感じです。

補足:plot関数のフォーマット

plot(x,y)は、plot(x,y,fmt)とすることで、ラインの色を変えたり、破線にしたり、ラインマーカーをドットにしたりできます。以下に例をあげます。

  • ラインスタイル…-(実線,default) .(点) ^(インパルス)
  • マーカタイプ…+o*x
  • カラースタイル…k r g b m c w (黒 赤 緑 青 マゼンタ シアン 白)

たとえば、以下のように書けます。

plot(x,y,'r+')

今回の例でこれを出力すると、以下のようなグラフが出力されます。

フォーマットの例

赤くて+な感じになりました。

以上。

 

関連コンテンツ

関連記事

スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。