Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

fplot

シンボリック式または関数をプロット

説明

fplot(f) は、シンボリック入力 f を既定の区間 [-5 5] でプロットします。

fplot(f,[xmin xmax]) は、f を区間 [xmin xmax] でプロットします。

fplot(xt,yt) は、xt = x(t) および yt = y(t)t の既定の範囲 [–5 5] でプロットします。

fplot(xt,yt,[tmin tmax]) は、xt = x(t) および yt = y(t) を、指定された範囲 [tmin tmax] でプロットします。

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

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

fplot(ax,___) は、現在の座標軸 gca ではなく ax によって指定される座標軸にプロットします。

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

すべて折りたたむ

tan(x) を既定の範囲 [-5 5] でプロットします。fplot は既定では極を表示します。詳細は、名前と値の引数ShowPoles の引数を参照してください。

syms x
fplot(tan(x))

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

シンボリック関数 f(x) = cos(x) を既定の範囲 [-5 5] でプロットします。

syms f(x)
f(x) = cos(x);
fplot(f)

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

パラメトリック曲線 x = cos(3*t) および y = sin(2*t) をプロットします。

syms t
x = cos(3*t);
y = sin(2*t);
fplot(x,y)

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

プロット区間を fplot の 2 番目の入力として指定することで、区間 [-pi/2 pi/2]sin(x) をプロットします。

syms x
fplot(sin(x),[-pi/2 pi/2])

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

入力をベクトルとして渡すか、または hold on を使用すると、複数のラインを連続して同じ Figure にプロットできます。LineSpec および名前と値の引数を指定すると、すべてのラインに適用されます。個々のプロットにオプションを設定するには、fplot によって返される関数ハンドルを使用します。

subplot を使用して、Figure を 2 つのサブプロットに分割します。第 1 サブプロットで、ベクトル入力を使用して sin(x)cos(x) をプロットします。第 2 サブプロットで、hold on を使用して sin(x) および cos(x) をプロットします。

syms x
subplot(2,1,1)
fplot([sin(x) cos(x)])
title('Multiple Lines Using Vector Inputs')

subplot(2,1,2)
fplot(sin(x))
hold on
fplot(cos(x))
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 functionline. Axes object 2 with title Multiple Lines Using hold on Command contains 2 objects of type functionline.

ライン間に位相シフトを指定して 3 つの正弦曲線をプロットします。最初のラインにはライン幅 2 を使用します。2 番目には円マーカーをもつ赤い破線のライン スタイルを使用します。3 番目にはアスタリスクのマーカーをもつシアンの一点鎖線のライン スタイルを使用します。凡例を表示します。

syms x
fplot(sin(x+pi/5),'Linewidth',2)
hold on
fplot(sin(x-pi/5),'--or')
fplot(sin(x),'-.*c')
legend('show','Location','best')
hold off

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

MeshDensity オプションを使用して、プロットの解像度を制御します。MeshDensity を増やすとプロットがより滑らかで正確になり、減らすとプロット速度が上がります。

subplot を使用して、Figure を 2 つに分割します。第 1 サブプロットで、x = 2.1 から x = 2.15 までステップ関数をプロットします。プロットの解像度は、ステップ関数を検知するには低すぎます。第 2 サブプロットで MeshDensity39 に増やしてこれを修正します。プロットはステップ関数を検知し、MeshDensity を増やすことでプロットの解像度が向上することが示されました。

syms x
stepFn = rectangularPulse(2.1, 2.15, x);

subplot(2,1,1)
fplot(stepFn);
title('Default MeshDensity = 23')

subplot(2,1,2)
fplot(stepFn,'MeshDensity',39);
title('Increased MeshDensity = 39')

Figure contains 2 axes objects. Axes object 1 with title Default MeshDensity = 23 contains an object of type functionline. Axes object 2 with title Increased MeshDensity = 39 contains an object of type functionline.

sin(x) をプロットします。fplot がプロット オブジェクトを返すように出力を指定します。

syms x
h = fplot(sin(x))

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

h = 
  FunctionLine with properties:

     Function: sin(x)
        Color: [0 0.4470 0.7410]
    LineStyle: '-'
    LineWidth: 0.5000

  Use GET to show all properties

ドット表記を使用してプロパティを設定し、既定の青い線を赤い破線に変更します。同様に、'x' マーカーを追加して、マーカーの色を青色に設定します。

h.LineStyle = '--';
h.Color = 'r';
h.Marker = 'x';
h.MarkerEdgeColor = 'b';

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

sin(x) を区間 [-2*pi 2*pi] でプロットします。タイトルと座標軸ラベルを追加します。x 軸の範囲を pi/2 の間隔にして、x 軸の目盛りを作成します。XTick プロパティを使用して、これらの目盛りを表示します。arrayfun を使用して texlabelS に適用して、x 軸ラベルを作成します。XTickLabel プロパティを使用して、これらのラベルを表示します。

プロットに LaTeX を使用する方法については、latexを参照してください。

syms x
fplot(sin(x),[-2*pi 2*pi])
grid on
title('sin(x) from -2\pi to 2\pi')
xlabel('x')
ylabel('y')

ax = gca;
S = sym(ax.XLim(1):pi/2:ax.XLim(2));
ax.XTick = double(S);
ax.XTickLabel = arrayfun(@texlabel,S,'UniformOutput',false);

Figure contains an axes object. The axes object with title sin(x) blank from blank -2 pi blank to blank 2 pi, xlabel x, ylabel y contains an object of type functionline.

プロットにズームインすると、fplot はプロットを自動的に再評価します。ズーム時の再評価により、より小さなスケールにおける細部が明らかになります。

曲線 $y = x^3 \sin(1/x)$ を、$-2 < x < 2$ および $-0.02 < y < 0.02$ についてプロットします。zoom を使用してプロットにズームインし、drawnow を使用してプロットを再描画します。ズームでの再評価が行われるため、fplot で細部が現れます。ズームを 6 回繰り返し、より小さなスケールにおける細部を明らかにします。

syms x
fplot(x^3*sin(1/x));
axis([-2 2 -0.02 0.02]);
for i=1:6
    zoom(1.7)
    pause(0.5)
end

パラメーターの 1 つが時間と共に変化するパラメトリック曲線のアニメーションを作成します。パラメトリック曲線の $x$ 座標と $y$ 座標は次のように与えられます。

$$x = k t \sin(k t)$$

$$y = k t \cos(k t).$$

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

2 つのシンボリック変数 kt を作成します。変数 k を使用して [-5 5] の範囲内で曲線をパラメーター化し、変数 t を使用して 0.1 から 3 までの時間の経過に沿って曲線をアニメーション化します。fanimator を使用して、時間のスナップショットのストップモーション アニメーション オブジェクトを作成します。$x$ 軸と $y$ 軸が同じ長さになるように設定します。

syms k t
fanimator(@fplot,k*t*sin(k*t),k*t*cos(k*t),[-5 5],AnimationRange = [0.1 3])
axis equal

playAnimation を使用してアニメーションを再生します。

playAnimation

writeAnimation を使用してアニメーションを GIF ファイルとして保存することもできます。

writeAnimation("parametricCurve.gif")

入力引数

すべて折りたたむ

プロットする式または関数。シンボリック式またはシンボリック関数として指定します。

x 座標のプロット区間。2 つの数値のベクトルとして指定します。既定の範囲は、[-5 5] です。ただし、fplotf の中に有限個の不連続を検知した場合、fplot は範囲を拡張してそれらを表示します。

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

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

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

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

ライン スタイル、マーカー、色。記号を含む 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

"square"正方形

Sample of square marker

"diamond"菱形

Sample of diamond 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

"pentagram"星形五角形

Sample of pentagram marker

"hexagram"星形六角形

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'

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

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

極での漸近線の表示。'on' または 'off' として指定するか、数値または 1 (true) か 0 (false) の logical 値として指定します。値 'on' は true と等価で、'off'false と等価です。したがって、このプロパティの値は logical 値として使用できます。値は、matlab.lang.OnOffSwitchState 型の on/off logical 値として保存されます。

漸近線は、グレーの垂直の破線で表示されます。fplot は、fplot(f) 構文またはバリアントでのみ表示されます。fplot(xt,yt) 構文では表示されません。

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

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

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

  • 16 進数のカラー コードは、string スカラー、またはハッシュ記号 (#) の後に 3 つまたは 6 つの 0 から F までの範囲の 16 進数の桁を続けた文字ベクトルです。この値では大文字と小文字は区別されません。そのため、カラー コード "#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

"square"正方形

Sample of square marker

"diamond"菱形

Sample of diamond 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

"pentagram"星形五角形

Sample of pentagram marker

"hexagram"星形六角形

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 進数のカラー コードは、string スカラー、またはハッシュ記号 (#) の後に 3 つまたは 6 つの 0 から F までの範囲の 16 進数の桁を続けた文字ベクトルです。この値では大文字と小文字は区別されません。そのため、カラー コード "#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 進数のカラー コードは、string スカラー、またはハッシュ記号 (#) の後に 3 つまたは 6 つの 0 から F までの範囲の 16 進数の桁を続けた文字ベクトルです。この値では大文字と小文字は区別されません。そのため、カラー コード "#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 つ以上の関数またはパラメーター化された関数ライン オブジェクト。スカラーまたはベクトルとして返されます。

  • fplot(f) 構文またはこの構文のバリエーションを使用した場合、fplot は関数ライン オブジェクトを返します。

  • fplot(xt,yt) 構文またはこの構文のバリエーションを使用した場合、fplot はパラメーター化されたライン オブジェクトを返します。

これらのオブジェクトを使用して、特定のラインのプロパティのクエリと変更を行います。プロパティの一覧については、FunctionLine のプロパティおよびParameterizedFunctionLine のプロパティ を参照してください。

ヒント

  • fplotf の中に有限個の不連続を検知した場合、fplot は範囲を拡張してそれらを表示します。

  • fplot が (シンボリック関数または式でない) 名前付き関数または無名関数の関数ハンドルで使用されている場合、MATLAB の関数fplotが呼び出されます。この場合、関数ハンドルは、ベクトルの入力引数を受け入れ、同じサイズのベクトルの出力引数を返さなければなりません。最高のパフォーマンスを得るには、行列演算子ではなく、配列演算子を使用します。たとえば、コード fplot(@(x) x.*sin(2*pi*x))* (mtimes) ではなく .* (times) を使用します。

バージョン履歴

R2016a で導入