Matlab-graphics

提供:Dev Guides
移動先:案内検索

MATLAB-グラフィックス

この章では、MATLABのプロット機能とグラフィックス機能について引き続き説明します。 私たちは議論します-

  • 棒グラフの描画
  • 輪郭の描画
  • 三次元プロット

棒グラフの描画

*bar* コマンドは、2次元の棒グラフを描画します。 アイデアを示すために例を取り上げましょう。

想像上の教室に10人の生徒がいるとします。 これらの学生が取得したマークの割合は、75、58、90、87、50、85、92、75、60、および95です。 このデータの棒グラフを描画します。

スクリプトファイルを作成し、次のコードを入力します-

x = [1:10];
y = [75, 58, 90, 87, 50, 85, 92, 75, 60, 95];
bar(x,y), xlabel('Student'),ylabel('Score'),
title('First Sem:')
print -deps graph.eps

ファイルを実行すると、MATLABは次の棒グラフを表示します-

棒グラフの描画

輪郭の描画

2つの変数の関数の等高線は、関数が一定の値を持つ曲線です。 等高線は、平均海面など、指定されたレベル以上の同じ標高のポイントを結合して等高線マップを作成するために使用されます。

MATLABは、等高線図を描画するための contour 関数を提供します。

与えられた関数g = f(x、y)の等高線を示す等高線図を生成しましょう。 この関数には2つの変数があります。 そのため、2つの独立変数、つまり2つのデータセットxとyを生成する必要があります。 これは、 meshgrid コマンドを呼び出すことで実行されます。

*meshgrid* コマンドは、xとyの範囲とそれぞれの増分の指定を与える要素の行列を生成するために使用されます。

関数g = f(x、y)をプロットします。ここで、-5≤x≤5、-3≤y≤3です。 両方の値に対して0.1の増分を取りましょう。 変数は次のように設定されます-

[x,y] = meshgrid(–5:0.1:5, –3:0.1:3);

最後に、関数を割り当てる必要があります。 関数をx ^ 2 ^ + y ^ 2 ^とします

スクリプトファイルを作成し、次のコードを入力します-

[x,y] = meshgrid(-5:0.1:5,-3:0.1:3);   %independent variables
g = x.^2 + y.^2;                       % our function
contour(x,y,g)                         % call the contour function
print -deps graph.eps

あなたがファイルを実行すると、MATLABは次の等高線図を表示します-

Matlabの等高線図

コードを少し変更して、マップを整えます

[x,y] = meshgrid(-5:0.1:5,-3:0.1:3);   %independent variables
g = x.^2 + y.^2;                       % our function
[C, h] = contour(x,y,g);               % call the contour function
set(h,'ShowText','on','TextStep',get(h,'LevelStep')*2)
print -deps graph.eps

あなたがファイルを実行すると、MATLABは次の等高線図を表示します-

見栄えの良い等高線図

3次元プロット

3次元プロットは、基本的に2つの変数g = f(x、y)の関数で定義された表面を表示します。

前と同様に、gを定義するために、 meshgrid コマンドを使用して、関数のドメイン上に(x、y)ポイントのセットを最初に作成します。 次に、関数自体を割り当てます。 最後に、 surf コマンドを使用して表面プロットを作成します。

次の例は、概念を示しています-

関数g = xe ^-(x ^ 2 ^ + y ^ 2 の3D表面マップを作成しましょう

スクリプトファイルを作成し、次のコードを入力します-

[x,y] = meshgrid(-2:.2:2);
g = x .* exp(-x.^2 - y.^2);
surf(x, y, g)
print -deps graph.eps

ファイルを実行すると、MATLABは次の3Dマップを表示します-

Matlabの3Dマップ

*mesh* コマンドを使用して、3次元の表面を生成することもできます。 ただし、 *surf* コマンドは、接続線とサーフェスの面の両方をカラーで表示しますが、 *mesh* コマンドは、定義点を接続する色付きの線でワイヤフレームサーフェスを作成します。