MATLABでの関数プロット:ステップバイステップガイド
関数のグラフをプロットするには、以下の手順を実行します。
変数xの値の範囲を指定してxを定義
関数y = f(x)を定義
plotコマンドをplot(x, y)として呼び出し
以下の例で概念を説明します。簡単な関数y = xを、xの値の範囲0から100、増分5でプロットします。
スクリプトファイルを作成し、以下のコードを入力します。
x = [0:5:100]; y = x; plot(x, y)
ファイルを実行すると、MATLABは以下のプロットを表示します。
もう一つ例として、y = x2の関数をプロットします。同じ関数で2つのグラフを描きますが、2回目は増分値を小さくします。増分を小さくすると、グラフが滑らかになることに注意してください。
スクリプトファイルを作成し、以下のコードを入力します。
x = [1 2 3 4 5 6 7 8 9 10]; x = [-100:20:100]; y = x.^2; plot(x, y)
ファイルを実行すると、MATLABは以下のプロットを表示します。
コードを少し変更して、増分を5に減らします。
x = [-100:5:100]; y = x.^2; plot(x, y)
MATLABはより滑らかなグラフを描画します。
グラフへのタイトル、ラベル、グリッド線、スケーリングの追加
MATLABでは、タイトル、x軸・y軸ラベル、グリッド線の追加、軸の調整でグラフを整えることができます。
xlabelとylabelコマンドでx軸とy軸のラベルを生成
titleコマンドでグラフにタイトルを追加
grid onコマンドでグリッド線を表示
axis equalコマンドで両軸のスケール係数と間隔を同じにする
axis squareコマンドで正方形のプロットを生成
例
スクリプトファイルを作成し、以下のコードを入力します。
x = [0:0.01:10]; y = sin(x); plot(x, y), xlabel('x'), ylabel('Sin(x)'), title('Sin(x) Graph'), grid on, axis equal
MATLABは以下のグラフを生成します。
同一グラフへの複数関数の描画
同じプロットに複数のグラフを描画できます。以下の例で概念を説明します。
例
スクリプトファイルを作成し、以下のコードを入力します。
x = [0 : 0.01: 10]; y = sin(x); g = cos(x); plot(x, y, x, g, '.-'), legend('Sin(x)', 'Cos(x)')
MATLABは以下のグラフを生成します。
グラフの色設定
MATLABには、グラフ描画用の8つの基本色オプションがあります。以下の表に色とコードを示します。
| コード | 色 |
|---|---|
| w | 白 |
| k | 黒 |
| b | 青 |
| r | 赤 |
| c | シアン |
| g | 緑 |
| m | マゼンタ |
| y | 黄 |
例
以下の2つの多項式のグラフを描画します。
f(x) = 3x4 + 2x3 + 7x2 + 2x + 9
g(x) = 5x3 + 9x + 2
スクリプトファイルを作成し、以下のコードを入力します。
x = [-10 : 0.01: 10]; y = 3*x.^4 + 2 * x.^3 + 7 * x.^2 + 2 * x + 9; g = 5 * x.^3 + 9 * x + 2; plot(x, y, 'r', x, g, 'g')
ファイルを実行すると、MATLABは以下のグラフを生成します。
軸スケールの設定
axisコマンドで軸スケールを設定できます。x軸とy軸の最小値と最大値を以下のように指定します。
axis ( [xmin xmax ymin ymax] )
以下の例で説明します。
例
スクリプトファイルを作成し、以下のコードを入力します。
x = [0 : 0.01: 10]; y = exp(-x).* sin(2*x + 3); plot(x, y), axis([0 10 -1 1])
ファイルを実行すると、MATLABは以下のグラフを生成します。
サブプロットの生成
同じ図内にプロットの配列を作成すると、各プロットをサブプロットと呼びます。subplotコマンドでサブプロットを作成します。
コマンドの構文は以下の通りです。
subplot(m, n, p)
ここで、mとnはプロット配列の行数と列数、pは特定のプロットの位置を指定します。
subplotコマンドで作成された各プロットは、独自の特性を持つことができます。以下の例で概念を説明します。
例
以下の2つのプロットを生成します。
y = e−1.5xsin(10x)
y = e−2xsin(10x)
スクリプトファイルを作成し、以下のコードを入力します。
x = [0:0.01:5]; y = exp(-1.5*x).*sin(10*x); subplot(1,2,1) plot(x,y), xlabel('x'),ylabel('exp(–1.5x)*sin(10x)'),axis([0 5 -1 1]) y = exp(-2*x).*sin(10*x); subplot(1,2,2) plot(x,y),xlabel('x'),ylabel('exp(–2x)*sin(10x)'),axis([0 5 -1 1])
ファイルを実行すると、MATLABは以下のグラフを生成します。
MATLAB
- MATLAB徹底解説:数値計算環境の決定版
- MATLAB基礎マスター:必須構文とコマンド完全ガイド
- MATLAB変数の理解:基礎から実例まで徹底解説
- MATLAB必須コマンドリファレンス:効率的な計算のための完全ガイド
- MATLABデータ型完全ガイド:15種類の基本型と変換・判定関数
- MATLAB演算子完全ガイド:算術・論理・ビット演算・集合操作
- MATLABベクトル完全マスター:行/列ベクトルの基礎と操作
- MATLAB行列完全マスター:作成・参照・操作・削除の基礎
- MATLAB:多次元配列と特殊配列をマスターする
- MATLABコロン演算子をマスター:ベクトル作成と効率的な反復処理
- MATLABの数値型:型、格納、変換