fplot3
3 次元パラメトリック曲線をプロット
構文
説明
fplot3(
は、xt = x(t)、yt = y(t)、および zt = z(t) を区間 tmin < t < tmax でプロットします。xt
,yt
,zt
,[tmin tmax]
)
fplot3(___,
は、1 つ以上の Name,Value
)Name,Value
引数ペアを使用して、ラインのプロパティを指定します。このオプションは、前述の構文のすべての入力引数の組み合わせで使用できます。Name,Value
ペアの設定はプロットされたすべてのラインに適用されます。個々のラインにオプションを設定するには、fplot3
によって返されるオブジェクトを使用します。
fplot3(
は、現在の座標軸 ax
,___)gca
ではなく axes オブジェクト ax
にプロットします。
は、パラメーター化された関数ライン オブジェクトを返します。このオブジェクトを使用して、特定のパラメーター化されたラインのプロパティのクエリと変更を行います。詳細は、ParameterizedFunctionLine のプロパティ を参照してください。fp
= fplot3(___)
例
3 次元パラメトリック ラインのプロット
次の 3 次元パラメトリック ラインのプロットを
既定のパラメーター範囲 [-5 5]
で行います。
syms t
xt = sin(t);
yt = cos(t);
zt = t;
fplot3(xt,yt,zt)
パラメーターの範囲の指定
次のパラメトリック ラインのプロットを
パラメーター範囲 [-10 10]
を fplot3
の 4 番目の引数に指定して行います。
syms t
xt = exp(-t/10).*sin(5*t);
yt = exp(-t/10).*cos(5*t);
zt = t;
fplot3(xt,yt,zt,[-10 10])
ライン プロパティの変更およびマーカーの表示
同じ 3 次元パラメトリック曲線を、パラメーター区間を変えて 3 回プロットします。最初の曲線にはライン幅 2
を使用します。2 番目には円マーカーをもつ赤い破線のライン スタイルを使用します。3 番目にはアスタリスクのマーカーをもつシアンの一点鎖線のライン スタイルを使用します。
syms t fplot3(sin(t), cos(t), t, [0 2*pi], 'LineWidth', 2) hold on fplot3(sin(t), cos(t), t, [2*pi 4*pi], '--or') fplot3(sin(t), cos(t), t, [4*pi 6*pi], '-.*c')
シンボリック関数を使用した 3 次元パラメトリック ラインのプロット
次の 3 次元パラメトリック ラインのプロットを
syms x(t) y(t) z(t) x(t) = sin(t); y(t) = cos(t); z(t) = cos(2*t); fplot3(x,y,z)
同じ Figure への複数のラインのプロット
入力をベクトルとして渡すか、または hold on
を使用して、複数のラインを連続して同じ Figure にプロットします。LineSpec
および名前と値の引数を指定すると、すべてのラインに適用されます。個々のラインにオプションを設定するには、fplot3
によって返される関数ハンドルを使用します。
subplot
を使用して、Figure を 2 つのサブプロットに分割します。第 1 サブプロットで、ベクトル入力を使用して 2 つのパラメーター化されたラインをプロットします。第 2 サブプロットで、hold on
を使用して同じラインをプロットします。
syms t subplot(2,1,1) fplot3([t -t], t, [t -t]) title('Multiple Lines Using Vector Inputs') subplot(2,1,2) fplot3(t, t, t) hold on fplot3(-t, t, -t) title('Multiple Lines Using Hold On Command') hold off
3 次元パラメトリック ラインの作成後の変更
次のパラメトリック ラインのプロットを
fplot
がプロット オブジェクトを返すように出力を指定します。
syms t
xt = exp(-abs(t)/10).*sin(5*abs(t));
yt = exp(-abs(t)/10).*cos(5*abs(t));
zt = t;
fp = fplot3(xt,yt,zt)
fp = ParameterizedFunctionLine with properties: XFunction: exp(-abs(t)/10)*sin(5*abs(t)) YFunction: exp(-abs(t)/10)*cos(5*abs(t)) ZFunction: t Color: [0 0.4470 0.7410] LineStyle: '-' LineWidth: 0.5000 Show all properties
fp
の TRange
プロパティと Color
プロパティを使用して、パラメーターの値の範囲を [-10 10]
に、ラインの色を赤に変更します。
fp.TRange = [-10 10];
fp.Color = 'r';
タイトルと座標軸ラベルの追加、および目盛りの書式設定
から までの範囲の 値について、次のパラメトリック ラインをプロットします。
タイトルと座標軸ラベルを追加します。x 軸の範囲を pi/2
の間隔にして、x 軸の目盛りを作成します。XTick
プロパティを使用して、これらの目盛りを表示します。arrayfun
を使用して texlabel
を S
に適用して、x 軸ラベルを作成します。XTickLabel
プロパティを使用して、これらのラベルを表示します。以上の手順を、y 軸について繰り返します。
プロットに LaTeX を使用する方法については、latex
を参照してください。
syms t xt = t; yt = t/2; zt = sin(6*t); fplot3(xt,yt,zt,[-2*pi 2*pi],'MeshDensity',30) view(52.5,30) xlabel('x') ylabel('y') title('x=t, y=t/2, z=sin(6t) for -2\pi < t < 2\pi') ax = gca; S = sym(ax.XLim(1):pi/2:ax.XLim(2)); ax.XTick = double(S); ax.XTickLabel = arrayfun(@texlabel, S, 'UniformOutput', false); S = sym(ax.YLim(1):pi/2:ax.YLim(2)); ax.YTick = double(S); ax.YTickLabel = arrayfun(@texlabel, S, 'UniformOutput', false);
アニメーションの作成
アニメーションを作成するには、表示されている式を XFunction
、YFunction
および ZFunction
のプロパティを使用して変更した後、drawnow
を使用してプロットを更新します。GIF にエクスポートする方法については、imwrite
を参照してください。
変数 i を 0 から 4π まで変えることによって、パラメトリックな曲線をアニメーション化します。
アニメーションを再生するには、イメージをクリックします。
syms t fp = fplot3(t+sin(40*t),-t+cos(40*t), sin(t)); for i=0:pi/10:4*pi fp.ZFunction = sin(t+i); drawnow end
入力引数
出力引数
バージョン履歴
R2016a で導入