MATLABグラフィックス応用:高度なプロット技術
この章では、MATLABのプロットとグラフィックス機能の探求を続けます。以下について説明します。
- 棒グラフの描画
- 等高線の描画
- 3次元プロット
棒グラフの描画
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つの独立変数、すなわちxとyの2つのデータセットを生成する必要があります。これは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);
最後に関数を割り当てます。関数をx2 + y2とします。
スクリプトファイルを作成し、以下のコードを入力します。
[x,y] = meshgrid(-5:0.1:5,-3:0.1:3); % 独立変数 g = x.^2 + y.^2; % 関数 contour(x,y,g) % contour関数を呼び出し print -deps graph.eps
ファイルを実行すると、MATLABは以下の等高線図を表示します。
コードを少し修正して、地図をより見やすくします。
[x,y] = meshgrid(-5:0.1:5,-3:0.1:3); % 独立変数 g = x.^2 + y.^2; % 関数 [C, h] = contour(x,y,g); % contour関数を呼び出し 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-(x2 + y2)の3D曲面マップを作成します。
スクリプトファイルを作成し、以下のコードを入力します。
[x,y] = meshgrid(-2:.2:2); g = x .* exp(-x.^2 - y.^2); surf(x, y, g) print -deps graph.eps
ファイルを実行すると、MATLABは以下の3Dマップを表示します。
meshコマンドを使用して3次元曲面を生成することもできます。ただし、surfコマンドは曲面の接続線と面の両方を色で表示しますが、meshコマンドは定義点を結ぶ色付き線でワイヤーフレーム曲面を作成します。
MATLAB
- MATLAB徹底解説:数値計算環境の決定版
- MATLAB基礎マスター:必須構文とコマンド完全ガイド
- MATLAB変数の理解:基礎から実例まで徹底解説
- MATLAB必須コマンドリファレンス:効率的な計算のための完全ガイド
- MATLABデータ型完全ガイド:15種類の基本型と変換・判定関数
- MATLAB演算子完全ガイド:算術・論理・ビット演算・集合操作
- MATLABベクトル完全マスター:行/列ベクトルの基礎と操作
- MATLAB行列完全マスター:作成・参照・操作・削除の基礎
- MATLAB:多次元配列と特殊配列をマスターする
- MATLABコロン演算子をマスター:ベクトル作成と効率的な反復処理
- MATLABの数値型:型、格納、変換