Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

fplot3

3 次元パラメトリック曲線をプロット

説明

fplot3(xt,yt,zt) は、パラメトリック曲線 xt = x(t)、yt = y(t)、および zt = z(t) を既定の区間 –5 < t < 5 でプロットします。

fplot3(xt,yt,zt,[tmin tmax]) は、xt = x(t)、yt = y(t)、および zt = z(t) を区間 tmin < t < tmax でプロットします。

fplot3(___,LineSpec) は、LineSpec を使用してライン スタイル、マーカー記号、ラインの色を設定します。

fplot3(___,Name,Value) は、1 つ以上の Name,Value 引数ペアを使用して、ラインのプロパティを指定します。このオプションは、前述の構文のすべての入力引数の組み合わせで使用できます。Name,Value ペアの設定はプロットされたすべてのラインに適用されます。個々のラインにオプションを設定するには、fplot3 によって返されるオブジェクトを使用します。

fplot3(ax,___) は、現在の座標軸 gca ではなく axes オブジェクト ax にプロットします。

fp = fplot3(___) は、パラメーター化された関数ライン オブジェクトを返します。このオブジェクトを使用して、特定のパラメーター化されたラインのプロパティのクエリと変更を行います。詳細は、ParameterizedFunctionLine のプロパティ を参照してください。

3 次元パラメトリック ラインのプロット

次の 3 次元パラメトリック ラインのプロットを

x=sin(t)y=cos(t)z=t

既定のパラメーター範囲 [-5 5] で行います。

syms t
xt = sin(t);
yt = cos(t);
zt = t;
fplot3(xt,yt,zt)

Figure contains an axes object. The axes object contains an object of type parameterizedfunctionline.

パラメーターの範囲の指定

次のパラメトリック ラインのプロットを

x=e-t/10sin(5t)y=e-t/10cos(5t)z=t

パラメーター範囲 [-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])

Figure contains an axes object. The axes object contains an object of type parameterizedfunctionline.

ライン プロパティの変更およびマーカーの表示

同じ 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')

Figure contains an axes object. The axes object contains 3 objects of type parameterizedfunctionline.

シンボリック関数を使用した 3 次元パラメトリック ラインのプロット

次の 3 次元パラメトリック ラインのプロットを

x(t)=sin(t)y(t)=cos(t)z(t)=cos(2t).

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 contains an axes object. The axes object contains an object of type parameterizedfunctionline.

同じ 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

Figure contains 2 axes objects. Axes object 1 with title Multiple Lines Using Vector Inputs contains 2 objects of type parameterizedfunctionline. Axes object 2 with title Multiple Lines Using Hold On Command contains 2 objects of type parameterizedfunctionline.

3 次元パラメトリック ラインの作成後の変更

次のパラメトリック ラインのプロットを

x=e-|t|/10sin(5|t|)y=e-|t|/10cos(5|t|)z=t.

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)

Figure contains an axes object. The axes object contains an object of type parameterizedfunctionline.

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

fpTRange プロパティと Color プロパティを使用して、パラメーターの値の範囲を [-10 10] に、ラインの色を赤に変更します。

fp.TRange = [-10 10];
fp.Color = 'r';

Figure contains an axes object. The axes object contains an object of type parameterizedfunctionline.

タイトルと座標軸ラベルの追加、および目盛りの書式設定

-2π から 2π までの範囲の t 値について、次のパラメトリック ラインをプロットします。

x=ty=t/2z=sin(6t).

タイトルと座標軸ラベルを追加します。x 軸の範囲を pi/2 の間隔にして、x 軸の目盛りを作成します。XTick プロパティを使用して、これらの目盛りを表示します。arrayfun を使用して texlabelS に適用して、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);

Figure contains an axes object. The axes object with title x = t , blank y = t / 2 , blank z = s i n ( 6 t ) blank f o r blank - 2 pi blank &lt; blank t blank &lt; blank 2 pi contains an object of type parameterizedfunctionline.

アニメーションの作成

アニメーションを作成するには、表示されている式を XFunctionYFunction および ZFunction のプロパティを使用して変更した後、drawnow を使用してプロットを更新します。GIF にエクスポートする方法については、imwrite を参照してください。

変数 i を 0 から 4π まで変えることによって、パラメトリックな曲線をアニメーション化します。

x=t+sin(40t)y=t+cos(40t)z=sin(t+i).

アニメーションを再生するには、イメージをクリックします。

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

入力引数

すべて折りたたむ

x 軸のパラメトリック入力。シンボリック式またはシンボリック関数として指定します。fplot3symvar を使用してパラメーターを求めます。

y 軸のパラメトリック入力。シンボリック式またはシンボリック関数として指定します。fplot3symvar を使用してパラメーターを求めます。

z 軸のパラメトリック入力。シンボリック式またはシンボリック関数として指定します。fplot3symvar を使用してパラメーターを求めます。

パラメーターの値の範囲。2 つの数値のベクトルとして指定します。既定の範囲は、[-5 5] です。

axes オブジェクト。axes オブジェクトを指定しない場合、fplot3 は現在の座標軸を使用します。

ライン スタイル、マーカー、色。記号を含む文字ベクトルまたは string として指定します。記号の順序は任意です。3 つの特性すべて (ライン スタイル、マーカー、色) を指定する必要はありません。たとえば、ライン スタイルを省略してマーカーを指定すると、プロットにはマーカーのみが表示され、ラインは表示されません。

例: '--or' は円マーカーをもつ赤い破線

ライン スタイル説明結果として得られるライン
'-'実線

Sample of solid line

'--'破線

Sample of dashed line

':'点線

Sample of dotted line

'-.'一点鎖線

Sample of dash-dotted line, with alternating dashes and dots

マーカー説明結果として得られるマーカー
'o'

Sample of circle marker

'+'プラス記号

Sample of plus sign marker

'*'アスタリスク

Sample of asterisk marker

'.'

Sample of point marker

'x'十字

Sample of cross marker

'_'横線

Sample of horizontal line marker

'|'縦線

Sample of vertical line marker

's'正方形

Sample of square marker

'd'菱形

Sample of diamond line marker

'^'上向き三角形

Sample of upward-pointing triangle marker

'v'下向き三角形

Sample of downward-pointing triangle marker

'>'右向き三角形

Sample of right-pointing triangle marker

'<'左向き三角形

Sample of left-pointing triangle marker

'p'星形五角形

Sample of pentagram marker

'h'星形六角形

Sample of hexagram marker

色の名前省略名RGB 3 成分外観
'red''r'[1 0 0]

Sample of the color red

'green''g'[0 1 0]

Sample of the color green

'blue''b'[0 0 1]

Sample of the color blue

'cyan' 'c'[0 1 1]

Sample of the color cyan

'magenta''m'[1 0 1]

Sample of the color magenta

'yellow''y'[1 1 0]

Sample of the color yellow

'black''k'[0 0 0]

Sample of the color black

'white''w'[1 1 1]

Sample of the color white

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名、Value は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は関係ありません。

R2021a より前では、コンマを使用して名前と値の各ペアを区切り、Name を引用符で囲みます。

例: 'Marker','o','MarkerFaceColor','red'

ここでは、プロパティの一部だけを紹介しています。一覧については、ParameterizedFunctionLine のプロパティ を参照してください。

評価点の数。数値として指定します。既定の設定は 23 です。fplot3 は適応評価を使用するため、評価点の数は実際の数の方が大きくなります。

ラインの色。RGB 3 成分、16 進数のカラー コード、色の名前、または省略名として指定します。

カスタム色には、RGB 3 成分または 16 進数のカラー コードを指定します。

  • RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度は [0,1] の範囲でなければなりません。たとえば [0.4 0.6 0.7] のようになります。

  • 16 進数のカラー コードは、ハッシュ記号 (#) の後に 3 つまたは 6 つの 0 から F までの範囲の 16 進数の桁を続けた文字ベクトルまたは string スカラーです。この値では大文字と小文字は区別されません。したがって、カラー コード '#FF8800''#ff8800''#F80'、および '#f80' は等価です。

あるいは、一般的な色を名前で指定できます。この表は、名前の付いた色のオプションと、等価な RGB 3 成分および 16 進数のカラー コードの一覧です。

色の名前省略名RGB 3 成分16 進数のカラー コード外観
'red''r'[1 0 0]'#FF0000'

Sample of the color red

'green''g'[0 1 0]'#00FF00'

Sample of the color green

'blue''b'[0 0 1]'#0000FF'

Sample of the color blue

'cyan' 'c'[0 1 1]'#00FFFF'

Sample of the color cyan

'magenta''m'[1 0 1]'#FF00FF'

Sample of the color magenta

'yellow''y'[1 1 0]'#FFFF00'

Sample of the color yellow

'black''k'[0 0 0]'#000000'

Sample of the color black

'white''w'[1 1 1]'#FFFFFF'

Sample of the color white

MATLAB® で多くの種類のプロットで使用されている既定の色の RGB 3 成分および 16 進数のカラー コードを次に示します。

RGB 3 成分16 進数のカラー コード外観
[0 0.4470 0.7410]'#0072BD'

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]'#D95319'

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]'#EDB120'

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]'#7E2F8E'

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]'#77AC30'

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]'#4DBEEE'

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]'#A2142F'

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

例: 'blue'

例: [0 0 1]

例: '#0000FF'

ライン スタイル。次の表のいずれかのオプションに指定します。

ライン スタイル説明結果として得られるライン
'-'実線

Sample of solid line

'--'破線

Sample of dashed line

':'点線

Sample of dotted line

'-.'一点鎖線

Sample of dash-dotted line, with alternating dashes and dots

'none'ラインなしラインなし

ライン幅。ポイント単位の正の値として指定します。1 ポイント = 1/72 インチです。ラインがマーカーをもつ場合、ライン幅はマーカー エッジにも影響します。

ライン幅はピクセルの幅よりも細くすることはできません。ライン幅をシステムのピクセル幅よりも小さい値に設定すると、線は 1 ピクセルの幅で表示されます。

マーカー記号。この表にリストされたいずれかの値として指定します。既定では、オブジェクトにマーカーが表示されません。マーカー記号を指定すると、各データ点または頂点にマーカーが追加されます。

マーカー説明結果として得られるマーカー
'o'

Sample of circle marker

'+'プラス記号

Sample of plus sign marker

'*'アスタリスク

Sample of asterisk marker

'.'

Sample of point marker

'x'十字

Sample of cross marker

'_'横線

Sample of horizontal line marker

'|'縦線

Sample of vertical line marker

's'正方形

Sample of square marker

'd'菱形

Sample of diamond line marker

'^'上向き三角形

Sample of upward-pointing triangle marker

'v'下向き三角形

Sample of downward-pointing triangle marker

'>'右向き三角形

Sample of right-pointing triangle marker

'<'左向き三角形

Sample of left-pointing triangle marker

'p'星形五角形

Sample of pentagram marker

'h'星形六角形

Sample of hexagram marker

'none'マーカーなし適用不可

マーカーの輪郭の色。'auto'、RGB 3 成分、16 進数のカラー コード、色の名前、または省略名として指定します。'auto' の既定値では Color プロパティと同じ色が使用されます。

カスタム色には、RGB 3 成分または 16 進数のカラー コードを指定します。

  • RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度は [0,1] の範囲でなければなりません。たとえば [0.4 0.6 0.7] のようになります。

  • 16 進数のカラー コードは、ハッシュ記号 (#) の後に 3 つまたは 6 つの 0 から F までの範囲の 16 進数の桁を続けた文字ベクトルまたは string スカラーです。この値では大文字と小文字は区別されません。したがって、カラー コード '#FF8800''#ff8800''#F80'、および '#f80' は等価です。

あるいは、一般的な色を名前で指定できます。この表は、名前の付いた色のオプションと、等価な RGB 3 成分および 16 進数のカラー コードの一覧です。

色の名前省略名RGB 3 成分16 進数のカラー コード外観
'red''r'[1 0 0]'#FF0000'

Sample of the color red

'green''g'[0 1 0]'#00FF00'

Sample of the color green

'blue''b'[0 0 1]'#0000FF'

Sample of the color blue

'cyan' 'c'[0 1 1]'#00FFFF'

Sample of the color cyan

'magenta''m'[1 0 1]'#FF00FF'

Sample of the color magenta

'yellow''y'[1 1 0]'#FFFF00'

Sample of the color yellow

'black''k'[0 0 0]'#000000'

Sample of the color black

'white''w'[1 1 1]'#FFFFFF'

Sample of the color white

'none'適用不可適用不可適用不可色なし

MATLAB で多くの種類のプロットで使用されている既定の色の RGB 3 成分および 16 進数のカラー コードを次に示します。

RGB 3 成分16 進数のカラー コード外観
[0 0.4470 0.7410]'#0072BD'

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]'#D95319'

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]'#EDB120'

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]'#7E2F8E'

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]'#77AC30'

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]'#4DBEEE'

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]'#A2142F'

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

マーカーの塗りつぶし色。'auto'、RGB 3 成分、16 進数のカラー コード、色の名前、または省略名として指定します。'auto' の値には MarkerEdgeColor プロパティと同じ色が使用されます。

カスタム色には、RGB 3 成分または 16 進数のカラー コードを指定します。

  • RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度は [0,1] の範囲でなければなりません。たとえば [0.4 0.6 0.7] のようになります。

  • 16 進数のカラー コードは、ハッシュ記号 (#) の後に 3 つまたは 6 つの 0 から F までの範囲の 16 進数の桁を続けた文字ベクトルまたは string スカラーです。この値では大文字と小文字は区別されません。したがって、カラー コード '#FF8800''#ff8800''#F80'、および '#f80' は等価です。

あるいは、一般的な色を名前で指定できます。この表は、名前の付いた色のオプションと、等価な RGB 3 成分および 16 進数のカラー コードの一覧です。

色の名前省略名RGB 3 成分16 進数のカラー コード外観
'red''r'[1 0 0]'#FF0000'

Sample of the color red

'green''g'[0 1 0]'#00FF00'

Sample of the color green

'blue''b'[0 0 1]'#0000FF'

Sample of the color blue

'cyan' 'c'[0 1 1]'#00FFFF'

Sample of the color cyan

'magenta''m'[1 0 1]'#FF00FF'

Sample of the color magenta

'yellow''y'[1 1 0]'#FFFF00'

Sample of the color yellow

'black''k'[0 0 0]'#000000'

Sample of the color black

'white''w'[1 1 1]'#FFFFFF'

Sample of the color white

'none'適用不可適用不可適用不可色なし

MATLAB で多くの種類のプロットで使用されている既定の色の RGB 3 成分および 16 進数のカラー コードを次に示します。

RGB 3 成分16 進数のカラー コード外観
[0 0.4470 0.7410]'#0072BD'

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]'#D95319'

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]'#EDB120'

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]'#7E2F8E'

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]'#77AC30'

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]'#4DBEEE'

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]'#A2142F'

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

例: [0.3 0.2 0.1]

例: 'green'

例: '#D2F9A7'

マーカー サイズ。ポイント単位の正の値として指定します。1 ポイント = 1/72 インチです。

出力引数

すべて折りたたむ

1 つ以上のパラメーター化されたライン オブジェクト。スカラーまたはベクトルとして返されます。これらのオブジェクトを使用して、特定のパラメーター化されたラインのプロパティのクエリと変更を行います。詳細は、ParameterizedFunctionLine のプロパティ を参照してください。

バージョン履歴

R2016a で導入