MATLABで数式を可視化:2D/3Dプロッティング完全ガイド
MATLABは、数式や関数を可視化するための強力なツールを提供します。シンプルな線形方程式から複雑な数式まで、幅広い関数をプロットし、2Dまたは3D空間で可視化できます。この機能は、数学的関数の振る舞いを分析・理解する必要があるエンジニア、科学者、数学者にとって特に有用です。
MATLABでは、式や関数のプロットに以下のメソッドを使用できます。
- fplot() — 2Dプロット用
- fplot3() — 3Dプロット用
MATLABでのfplot()の使用
MATLABのfplot()関数は、1変数の関数を指定範囲でプロットするために使用されます。数学的関数や式の可視化に特に適しています。
構文
fplot(f) fplot(f,xinterval) fplot(funx,funy) fplot(funx,funy,tinterval) fplot(___,LineSpec) fplot(___,Name,Value) fplot(ax,___)
各構文の詳細を解説します。
fplot(f)— デフォルト区間[-5, 5]で y = f(x) のグラフを表示。fplot(f,xinterval)— 指定区間でプロット。区間は[xmin, xmax]形式の2要素ベクトルで指定。fplot(funx,funy)— パラメトリック方程式 x = funx(t), y = funy(t) で定義される曲線を、デフォルト区間[-5, 5]で表示。fplot(funx,funy,tinterval)— パラメトリック曲線を指定区間[tmin, tmax]でプロット。fplot(___,LineSpec)— 線種、マーカーシンボル、線色を指定。例:'-r'で赤い実線。fplot(___,Name,Value)— 名前と値のペアで線プロパティを指定。例:'LineWidth', 2で線幅2ポイント。fplot(ax,___)— 現在の座標軸(gca)ではなく、axで指定した座標軸にプロット。
上記構文それぞれの実行例を見てみましょう。
例1:fplot(f)の使用
関数 y = x² をプロットします。
% 関数を定義 f = @(x) x.^2; % 関数をプロット fplot(f)
MATLABコマンドウィンドウで実行すると、以下のグラフが出力されます。
例2:fplot(f,xinterval)の使用
関数 y = x³ を区間[-2, 2]でプロットします。
% 関数を定義 f = @(x) x.^3; % 区間を指定 xinterval = [-2, 2]; % 指定区間でプロット fplot(f, xinterval)
この例では、無名関数 f = @(x) x.^3 で y = x³ を定義し、xinterval = [-2, 2] で区間を指定。fplot(f, xinterval) で指定区間[-2, 2]でプロットします。最後にタイトルとラベルを追加してわかりやすくしています。
例3:fplot(funx,funy)の使用
パラメトリック方程式で円をプロットします:
x = cos(t)
y = sin(t)
% 円のパラメトリック方程式を定義 funx = @(t) cos(t); funy = @(t) sin(t); % 円をプロット fplot(funx, funy)
デフォルト区間[-5, 5]でパラメトリック曲線として円が描画されます。
例4:fplot(funx,funy,tinterval)の使用
カーディオイド(心臓型曲線)を区間[0, 2π]でプロットします:
x = 2cos(t)(1 - cos(t))
y = 2sin(t)(1 - cos(t))
% カーディオイドのパラメトリック方程式を定義 funx = @(t) 2 * cos(t) .* (1 - cos(t)); funy = @(t) 2 * sin(t) .* (1 - cos(t)); % 区間を指定 tinterval = [0, 2*pi]; % カーディオイドをプロット fplot(funx, funy, tinterval)
例5:fplot(___,LineSpec)の使用
関数 y = x² を破線の緑色でプロットします。
% 関数を定義 f = @(x) x.^2; % 線種 '-.'(破線)、色 'g'(緑)でプロット fplot(f, '-.g')
例6:fplot(___,Name,Value)の使用
関数 y = sin(x) を太い赤線でプロットします。
% 関数を定義 f = @(x) sin(x); % 線幅2ポイント、色 'r'(赤)でプロット fplot(f, 'LineWidth', 2, 'Color', 'r')
例7:fplot(ax,___)の使用
関数 y = x² をデフォルト座標軸ではなく、特定の座標軸にプロットします。
% 関数を定義 f = @(x) x.^2; % 新しい図と座標軸を作成 figure; ax = axes; % 指定した座標軸にプロット fplot(ax, f)
MATLABでのfplot3()の使用
MATLABのfplot3()関数は、3Dパラメトリック曲線をプロットするために使用されます。3次元空間でパラメトリック方程式で定義される曲線を可視化でき、複雑な3D幾何学曲線の形状と振る舞いを理解するのに役立ちます。
構文
fplot3(xt,yt,zt) fplot3(xt,yt,zt,[tmin tmax]) fplot3(___,LineSpec) fplot3(___,Name,Value)
各構文の詳細:
fplot3(xt,yt,zt)— デフォルト区間 -5 < t < 5 で、x(t)=xt, y(t)=yt, z(t)=zt で表されるパラメトリック曲線をプロット。fplot3(xt,yt,zt,[tmin tmax])— 指定区間 tmin < t < tmax でパラメトリック曲線をプロット。fplot3(___,LineSpec)— LineSpecで線種、マーカー、色を指定。fplot3(___,Name,Value)— 名前と値のペアで線プロパティを指定。個別の線にオプションを設定する場合は、fplot3が返すオブジェクトを使用。
上記各構文の例を見てみましょう。
例1:fplot3(xt,yt,zt)の使用
3D空間でヘリックス(螺旋)をプロットします:
x(t) = cos(t)
y(t) = sin(t)
z(t) = t
% パラメトリック方程式を定義 xt = @(t) cos(t); yt = @(t) sin(t); zt = @(t) t; % 3Dパラメトリック曲線をプロット fplot3(xt, yt, zt)
tが増加するにつれてz軸に沿って延びる螺旋形状が、デフォルト区間で3D空間に描画されます。
例2:fplot3(xt,yt,zt,[tmin tmax])の使用
区間 0 < t < 4π でヘリックスの一部をプロットします。
xt = @(t) cos(t); yt = @(t) sin(t); zt = @(t) t; tmin = 0; tmax = 4*pi; fplot3(xt, yt, zt, [tmin, tmax])
例3:fplot3(___,LineSpec)の使用
パラメトリック曲線を赤い破線で表示します。
xt = @(t) cos(t); yt = @(t) sin(t); zt = @(t) t; fplot3(xt, yt, zt, '-r')
例4:fplot3(___,Name,Value)の使用
線幅を太くし、青色で表示します。
xt = @(t) cos(t); yt = @(t) sin(t); zt = @(t) t; fplot3(xt, yt, zt, 'LineWidth', 2, 'Color', 'b')
MATLAB
- MATLABで数式を可視化:2D/3Dプロッティング完全ガイド
- MATLAB必須コマンドリファレンス:効率的な計算のための完全ガイド
- MATLABでの関数プロット:ステップバイステップガイド
- MATLABループ完全ガイド:for/while/ネストループと制御文
- MATLABデータインポート:外部ファイルを効率的に読み込む
- MATLAB:ラプラシアン・オブ・ガウシアン(LoG)フィルタによるエッジ検出
- MATLABの数値型:型、格納、変換
- MATLAB行列完全マスター:作成・参照・操作・削除の基礎
- Simulink:MATLABの高度なシミュレーション&モデルベース設計ツール
- MATLABで微積分:微分方程式、積分、極限を解く
- GNU Octaveをマスター:MATLAB互換の完全チュートリアル