Main Content

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

fnplt

説明

fnplt(f) は、f の関数をその基本区間でプロットします。

f が一変量の場合、次のようになります。

  • f がスカラー値の場合、fnplt は f のグラフをプロット

  • f が 2 ベクトル値の場合、fnplt は平面曲線をプロット

  • f が d ベクトル値の場合 (d は 2 より大きい)、fnplt は f の最初の 3 つの成分によって指定された空間曲線をプロット

f が二変量の場合、次のようになります。

  • f がスカラー値の場合、fnpltsurf を使用して f のグラフをプロット

  • f が 2 ベクトル値の場合、fnplt はその領域内の規則的なグリッドの平面にあるイメージをプロット

  • f が d ベクトル値の場合 (d は 2 より大きい)、fnpltsurf を使用して、値の最初の 3 つの成分によって指定されたパラメトリックな表面をプロット

f が 2 つより多い変数をもつ関数の場合、fnplt は二変量関数をプロットします。この二変量関数は、最初の 2 つ以外の各変数における基本区間の中間点を選択することで得られます。

メモ

B 型の f の基本区間は、"すべての" 節点を含む区間です。つまり、最初の節点と最後の節点がどちらも完全多重度 k である場合を除いて (k はスプライン f の次数)、f は基本区間の端点で確実になくなります。このような完全多重度をもつことができないと、f がスプライン曲線である場合に特に厄介です。なぜなら、fnplt によって作成された曲線のプロットは、それ以外の場合に曲線が何を行うかに関係なく、元の位置で開始および終了するように制限されるからです。

さらに、B スプラインはそのサポート外ではゼロであるため、B 型の関数はその型の基本区間外ではゼロになります。これは、型の基本区間外の値が、拡張された左端、右端それぞれの多項式区分によって指定される pp 型の関数とは極めて対照的です。

fnplt(f,symbol,interv,linewidth,jumps) では、追加の入力引数を指定することでプロットを変更できます。これらの引数は、次のリストのどの順序でも配置できます。

  • '-.''*' などのプロットの記号を指定する "文字ベクトルまたは string スカラー"。既定値は '-'

  • ライン幅を指定する "スカラー"。既定値は 1

  • 文字 'j' で始まり、プロットされている "一変量" 関数内のジャンプがジャンプとして表示されることを示す "文字ベクトルまたは string スカラー"。既定では、ジャンプは (ほぼ) 垂直のラインで埋められます。

  • f において関数 univariate をプロットする区間を示す、[a,b] の形式の "ベクトル"f の関数が m 変量の場合、このオプションの引数は、i 番目の要素が区間を指定し、その i 番目の引数が変更される cell 配列でなければなりません。実際には、この arg に対しては、fnplt(f,arg,...) コマンドは fnplt(fnbrk(f,arg),...) コマンドと同じ効果があります。既定値は f の基本区間です。

  • 既定値の使用を示す、空の行列、文字ベクトルまたは string スカラー。このオプションは、特定の選択が他の変数によって決まる場合に便利です。

points = fnplt(f,...) は何もプロットせず、プロットされるべき 2 次元または 3 次元の点を代わりに返します。

[points, t] = fnplt(f,...) は、ベクトル値 f に対して、パラメーター値の対応するベクトル t も返します。

すべて折りたたむ

この簡単な例では、関数 fnplt を使用してスプラインをプロットする方法を示します。

データ サイトのベクトルを作成します。

x=linspace(0,2*pi,21);

前の手順で作成したデータ サイト x でスプラインを生成します。

f = spapi(4,x,sin(x))
f = struct with fields:
      form: 'B-'
     knots: [0 0 0 0 0.6283 0.9425 1.2566 1.5708 1.8850 2.1991 2.5133 2.8274 3.1416 3.4558 3.7699 4.0841 4.3982 4.7124 5.0265 5.3407 5.6549 6.2832 6.2832 6.2832 6.2832]
     coefs: [6.8853e-18 0.2098 0.5226 0.8224 0.9668 1.0166 0.9668 0.8224 0.5975 0.3141 8.9245e-17 -0.3141 -0.5975 -0.8224 -0.9668 -1.0166 -0.9668 -0.8224 -0.5226 -0.2098 -2.4493e-16]
    number: 21
     order: 4
       dim: 1

最後に、関数 fnplt を使用して、スプラインをプロットします。

fnplt(f,'r',3,[1 3])

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

入力引数

すべて折りたたむ

プロットする関数。スカラー、ベクトル、N 次元配列、または pp 型か B 型か st 型のスプラインとして指定します。

関数のプロットに使用する記号。文字ベクトルまたは string スカラーとして指定します。

データ型: char | string

f において関数 univariate をプロットする区間。ベクトルとして指定します。f の関数が m 変量の場合、このパラメーターは、i 番目の要素が区間を指定し、その i 番目の引数が変更される cell 配列でなければなりません。

データ型: single | double

プロットのライン幅。スカラーとして指定します。

データ型: single | double

"一変量" 関数でジャンプをプロットする方法の指定。文字ベクトルまたは string スカラーとして指定します。既定では、ジャンプは (ほぼ) 垂直のラインで埋められます。

データ型: char | string

出力引数

すべて折りたたむ

プロットされるべき関数の 2 次元または 3 次元の点。ベクトルまたは行列として返されます。

関数 f の対応するパラメーター値。ベクトルまたは行列として返されます。

アルゴリズム

関数 fnplt は、評価点のベクトル x を次の和集合によって生成します。

  1. プロット区間を埋める、等間隔に配置された 101 のサイト

  2. プロット区間内の任意のブレークポイント

その後、fnplt は、f によって表記される一変量関数 f をこれら x の評価点において評価します。f が実数値の場合、点 (x,f(x)) をプロットします。f がベクトル値である場合、f(x) の最初の 2 つまたは 3 つの成分をプロットします。

f がスカラー値または d ベクトル値 (d は 2 より大きく、surf によってプロットされた結果をもつ) の場合、f で表記される 二変量関数 f は 51 x 51 の等間隔グリッドで評価されます。反対の場合、f は 11 x 11 のグリッドのメッシュラインに沿って評価され、結果として得られる平面曲線がプロットされます。

バージョン履歴

R2006a より前に導入