このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
fplot
シンボリック式または関数をプロット
構文
説明
fplot(
は、f
,[xmin xmax]
)f
を区間 [xmin xmax]
でプロットします。
fplot(
は、xt
,yt
,[tmin tmax]
)xt = x(t)
および yt = y(t)
を、指定された範囲 [tmin tmax]
でプロットします。
fplot(___,
は、1 つ以上の Name=Value
)Name=Value
引数を使用して、ラインのプロパティを指定します。このオプションは、前述の構文のすべての入力引数の組み合わせで使用できます。Name=Value
の設定はプロットされたすべてのラインに適用されます。個々のラインにオプションを設定するには、fplot
によって返されるオブジェクトを使用します。
fplot(
は、現在の座標軸 ax
,___)gca
ではなく ax
によって指定される座標軸にプロットします。
は、プロットのタイプによって、関数ライン オブジェクトまたはパラメーター化されたライン オブジェクトを返します。このオブジェクトを使用して、特定のラインのプロパティのクエリと変更を行います。詳細は FunctionLine のプロパティ および ParameterizedFunctionLine のプロパティ を参照してください。fp
= fplot(___)
例
tan(x)
を既定の範囲 [-5 5]
でプロットします。fplot
は既定では極を表示します。詳細は、名前と値の引数の ShowPoles
の引数を参照してください。
syms x
fplot(tan(x))
パラメトリック曲線 x = cos(3*t)
および y = sin(2*t)
をプロットします。
syms t
x = cos(3*t);
y = sin(2*t);
fplot(x,y)
プロット区間を fplot
の 2 番目の入力として指定することで、区間 [-pi/2 pi/2]
の sin(x)
をプロットします。
syms x
fplot(sin(x),[-pi/2 pi/2])
入力をベクトルとして渡すか、または hold on
を使用すると、複数のラインを連続して同じ Figure にプロットできます。LineSpec
および名前と値の引数を指定すると、すべてのラインに適用されます。個々のプロットにオプションを設定するには、fplot
によって返される関数ハンドルを使用します。
subplot
を使用して、Figure を 2 つのサブプロットに分割します。第 1 サブプロットで、ベクトル入力を使用して sin(x)
と cos(x)
をプロットします。第 2 サブプロットで、hold on
を使用して sin(x)
および cos(x)
をプロットします。
syms x tiledlayout(2,1) nexttile fplot([sin(x) cos(x)]) title("Multiple Lines Using Vector Inputs") nexttile fplot(sin(x)) hold on fplot(cos(x)) title("Multiple Lines Using hold on Command") hold off
ライン間に位相シフトを指定して 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(Location="best") hold off
MeshDensity
オプションを使用して、プロットの解像度を制御します。MeshDensity
を増やすとプロットがより滑らかで正確になり、減らすとプロット速度が上がります。
subplot
を使用して、Figure を 2 つに分割します。第 1 サブプロットで、x = 2.1
から x = 2.15
までステップ関数をプロットします。プロットの解像度は、ステップ関数を検知するには低すぎます。第 2 サブプロットで MeshDensity
を 39
に増やしてこれを修正します。プロットはステップ関数を検知し、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")
sin(x)
をプロットします。fplot
がプロット オブジェクトを返すように出力を指定します。
syms x
h = fplot(sin(x))
h = FunctionLine with properties: Function: sin(x) Color: [0.0660 0.4430 0.7450] LineStyle: '-' LineWidth: 0.5000 Show all properties
ドット表記を使用してプロパティを設定し、既定の青い線を赤い破線に変更します。同様に、"x"
マーカーを追加して、マーカーの色を青色に設定します。
h.LineStyle = "--"; h.Color = "r"; h.Marker = "x"; h.MarkerEdgeColor = "b";
sin(x)
を区間 [-2*pi 2*pi]
でプロットします。タイトルと座標軸ラベルを追加します。 軸の範囲を pi/2
の間隔にして、 軸の目盛りを作成します。XTick
プロパティを使用して、これらの目盛りを表示します。arrayfun
を使用して texlabel
を S
に適用して、 軸ラベルを作成します。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);
プロットにズームインすると、fplot
はプロットを自動的に再評価します。ズーム時の再評価により、より小さなスケールにおける細部が明らかになります。
曲線 を、
および
についてプロットします。
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 つが時間と共に変化するパラメトリック曲線のアニメーションを作成します。パラメトリック曲線の 座標と
座標は次のように与えられます。
変数 を 0.1 から 3 まで変えることによって、パラメトリックな曲線をアニメーション化します。
2 つのシンボリック変数 k
と t
を作成します。変数 k
を使用して [-5 5]
の範囲内で曲線をパラメーター化し、変数 t
を使用して 0.1 から 3 までの時間の経過に沿って曲線をアニメーション化します。fanimator
を使用して、時間のスナップショットのストップモーション アニメーション オブジェクトを作成します。 軸と
軸が同じ長さになるように設定します。
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]
です。ただし、fplot
が f
の中に有限個の不連続を検知した場合、fplot
は範囲を拡張してそれらを表示します。
x 座標のパラメトリック入力。シンボリック式またはシンボリック関数として指定します。fplot
は symvar
を使用してパラメーターを求めます。
y 軸のパラメトリック入力。シンボリック式またはシンボリック関数として指定します。fplot
は symvar
を使用してパラメーターを求めます。
パラメーター t
の値の範囲。2 つの数値のベクトルとして指定します。既定の範囲は、[-5 5]
です。
axes オブジェクト。axes オブジェクトを指定しない場合、fplot
は現在の座標軸 gca
を使用します。
ライン スタイル、マーカー、色。記号を含む string スカラーまたは文字ベクトルとして指定します。記号の順序は任意です。3 つの特性すべて (ライン スタイル、マーカー、色) を指定する必要はありません。たとえば、ライン スタイルを省略してマーカーを指定すると、プロットにはマーカーのみが表示され、ラインは表示されません。
例: "--or"
は円マーカーをもつ赤い破線です。
ライン スタイル | 説明 | 結果として得られるライン |
---|---|---|
"-" | 実線 |
|
"--" | 破線 |
|
":" | 点線 |
|
"-." | 一点鎖線 |
|
マーカー | 説明 | 結果として得られるマーカー |
---|---|---|
"o" | 円 |
|
"+" | プラス記号 |
|
"*" | アスタリスク |
|
"." | 点 |
|
"x" | 十字 |
|
"_" | 横線 |
|
"|" | 縦線 |
|
"square" | 正方形 |
|
"diamond" | 菱形 |
|
"^" | 上向き三角形 |
|
"v" | 下向き三角形 |
|
">" | 右向き三角形 |
|
"<" | 左向き三角形 |
|
"pentagram" | 星形五角形 |
|
"hexagram" | 星形六角形 |
|
色の名前 | 省略名 | RGB 3 成分 | 外観 |
---|---|---|---|
"red" | "r" | [1 0 0] | |
"green" | "g" | [0 1 0] | |
"blue" | "b" | [0 0 1] | |
"cyan" | "c" | [0 1 1] | |
"magenta" | "m" | [1 0 1] | |
"yellow" | "y" | [1 1 0] | |
"black" | "k" | [0 0 0] | |
"white" | "w" | [1 1 1] | |
名前と値の引数
オプションの引数のペアを 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" | |
"green" | "g" | [0 1 0] | "#00FF00" | |
"blue" | "b" | [0 0 1] | "#0000FF" | |
"cyan" | "c" | [0 1 1] | "#00FFFF" | |
"magenta" | "m" | [1 0 1] | "#FF00FF" | |
"yellow" | "y" | [1 1 0] | "#FFFF00" | |
"black" | "k" | [0 0 0] | "#000000" | |
"white" | "w" | [1 1 1] | "#FFFFFF" |
次の表は、ライト テーマとダーク テーマのプロットに対する既定のカラー パレットの一覧です。
パレット | パレットの色 |
---|---|
R2025a より前: ほとんどのプロットでこれらの色が既定で使用されます。 |
|
|
|
これらのパレットの RGB 3 成分と 16 進数のカラー コードを取得するには、orderedcolors
関数と rgb2hex
関数を使用します。たとえば、"gem"
パレットの RGB 3 成分を取得して 16 進数のカラー コードに変換します。
RGB = orderedcolors("gem");
H = rgb2hex(RGB);
R2023b より前: RGB = get(groot,"FactoryAxesColorOrder")
を使用して RGB 3 成分を取得します。
R2024a より前: H = compose("#%02X%02X%02X",round(RGB*255))
を使用して 16 進数のカラー コードを取得します。
例: "blue"
例: [0 0 1]
例: "#0000FF"
ライン スタイル。次の表のいずれかのオプションに指定します。
ライン スタイル | 説明 | 結果として得られるライン |
---|---|---|
"-" | 実線 |
|
"--" | 破線 |
|
":" | 点線 |
|
"-." | 一点鎖線 |
|
"none" | ラインなし | ラインなし |
ライン幅。ポイント単位の正の値として指定します。1 ポイント = 1/72 インチです。ラインがマーカーをもつ場合、ライン幅はマーカー エッジにも影響します。
ライン幅はピクセルの幅よりも細くすることはできません。ライン幅をシステムのピクセル幅よりも小さい値に設定すると、線は 1 ピクセルの幅で表示されます。
マーカー記号。この表にリストされたいずれかの値として指定します。既定では、オブジェクトにマーカーが表示されません。マーカー記号を指定すると、各データ点または頂点にマーカーが追加されます。
マーカー | 説明 | 結果として得られるマーカー |
---|---|---|
"o" | 円 |
|
"+" | プラス記号 |
|
"*" | アスタリスク |
|
"." | 点 |
|
"x" | 十字 |
|
"_" | 横線 |
|
"|" | 縦線 |
|
"square" | 正方形 |
|
"diamond" | 菱形 |
|
"^" | 上向き三角形 |
|
"v" | 下向き三角形 |
|
">" | 右向き三角形 |
|
"<" | 左向き三角形 |
|
"pentagram" | 星形五角形 |
|
"hexagram" | 星形六角形 |
|
"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" | |
"green" | "g" | [0 1 0] | "#00FF00" | |
"blue" | "b" | [0 0 1] | "#0000FF" | |
"cyan" | "c" | [0 1 1] | "#00FFFF" | |
"magenta" | "m" | [1 0 1] | "#FF00FF" | |
"yellow" | "y" | [1 1 0] | "#FFFF00" | |
"black" | "k" | [0 0 0] | "#000000" | |
"white" | "w" | [1 1 1] | "#FFFFFF" | |
"none" | 適用不可 | 適用不可 | 適用不可 | 色なし |
次の表は、ライト テーマとダーク テーマのプロットに対する既定のカラー パレットの一覧です。
パレット | パレットの色 |
---|---|
R2025a より前: ほとんどのプロットでこれらの色が既定で使用されます。 |
|
|
|
これらのパレットの RGB 3 成分と 16 進数のカラー コードを取得するには、orderedcolors
関数と rgb2hex
関数を使用します。たとえば、"gem"
パレットの RGB 3 成分を取得して 16 進数のカラー コードに変換します。
RGB = orderedcolors("gem");
H = rgb2hex(RGB);
R2023b より前: RGB = get(groot,"FactoryAxesColorOrder")
を使用して RGB 3 成分を取得します。
R2024a より前: H = compose("#%02X%02X%02X",round(RGB*255))
を使用して 16 進数のカラー コードを取得します。
マーカーの塗りつぶし色。"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" | |
"green" | "g" | [0 1 0] | "#00FF00" | |
"blue" | "b" | [0 0 1] | "#0000FF" | |
"cyan" | "c" | [0 1 1] | "#00FFFF" | |
"magenta" | "m" | [1 0 1] | "#FF00FF" | |
"yellow" | "y" | [1 1 0] | "#FFFF00" | |
"black" | "k" | [0 0 0] | "#000000" | |
"white" | "w" | [1 1 1] | "#FFFFFF" | |
"none" | 適用不可 | 適用不可 | 適用不可 | 色なし |
次の表は、ライト テーマとダーク テーマのプロットに対する既定のカラー パレットの一覧です。
パレット | パレットの色 |
---|---|
R2025a より前: ほとんどのプロットでこれらの色が既定で使用されます。 |
|
|
|
これらのパレットの RGB 3 成分と 16 進数のカラー コードを取得するには、orderedcolors
関数と rgb2hex
関数を使用します。たとえば、"gem"
パレットの RGB 3 成分を取得して 16 進数のカラー コードに変換します。
RGB = orderedcolors("gem");
H = rgb2hex(RGB);
R2023b より前: RGB = get(groot,"FactoryAxesColorOrder")
を使用して RGB 3 成分を取得します。
R2024a より前: H = compose("#%02X%02X%02X",round(RGB*255))
を使用して 16 進数のカラー コードを取得します。
例: [0.3 0.2 0.1]
例: "green"
例: "#D2F9A7"
マーカー サイズ。ポイント単位の正の値として指定します。1 ポイント = 1/72 インチです。
出力引数
1 つ以上の関数またはパラメーター化された関数ライン オブジェクト。スカラーまたはベクトルとして返されます。
fplot(f)
構文またはこの構文のバリエーションを使用した場合、fplot
は関数ライン オブジェクトを返します。fplot(xt,yt)
構文またはこの構文のバリエーションを使用した場合、fplot
はパラメーター化されたライン オブジェクトを返します。
これらのオブジェクトを使用して、特定のラインのプロパティのクエリと変更を行います。プロパティの一覧については、FunctionLine のプロパティおよびParameterizedFunctionLine のプロパティ を参照してください。
ヒント
fplot
がf
の中に有限個の不連続を検知した場合、fplot
は範囲を拡張してそれらを表示します。fplot
が (シンボリック関数または式でない) 名前付き関数または無名関数の関数ハンドルで使用されている場合、MATLAB® の関数fplot
が呼び出されます。この場合、関数ハンドルは、ベクトルの入力引数を受け入れ、同じサイズのベクトルの出力引数を返さなければなりません。最高のパフォーマンスを得るには、行列演算子ではなく、配列演算子を使用します。たとえば、コードfplot(@(x) x.*sin(2*pi*x))
で*
(mtimes
) ではなく.*
(times
) を使用します。
バージョン履歴
R2016a で導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)