Main Content

fimplicit3

3 次元陰関数のプロット

  • Plot 3-D implicit function

説明

fimplicit3(f) は、xy および z の既定の区間 [-5 5] に、f(x,y,z) = 0 で定義された 3 次元陰関数をプロットします。

fimplicit3(f,interval) は、xy および z のプロット区間を指定します。

fimplicit3(ax,___) は、現在の座標軸ではなく ax で指定された座標軸にプロットします。前述のすべての入力引数より先に、座標軸を最初の入力引数として指定します。

fimplicit3(___,LineSpec) は、ライン スタイル、マーカー記号およびラインの色を指定します。たとえば、'-r' は赤のラインを指定します。

fimplicit3(___,Name,Value) は、1 つ以上の名前と値のペアの引数を使用して、表面のプロパティを指定します。たとえば、'FaceAlpha',0.6 は、表面が半透明になる透明度の値 0.6 を指定します。

fs = fimplicit3(___) は、ImplicitFunctionSurface オブジェクトを返します。表面の作成後に、表面のプロパティにアクセスしたり、変更するには、fs を使用します。プロパティの一覧については、ImplicitFunctionSurface のプロパティ を参照してください。

すべて折りたたむ

xy、および z の既定の区間 [-5,5] に、双曲面 x2+y2-z2=0 をプロットします。

f = @(x,y,z) x.^2 + y.^2 - z.^2;
fimplicit3(f)

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

z のプロット区間を [0 5] に指定して、双曲面 x2+y2-z2=0 の上半分をプロットします。xy には、既定の区間 [-5 5] を使用します。

f = @(x,y,z) x.^2 + y.^2 - z.^2;
interval = [-5 5 -5 5 0 5];
fimplicit3(f,interval)

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

陰関数表面 x2+y2-z2=0 をプロットします。EdgeColor プロパティを 'none' に設定して、ラインを削除します。FaceAlpha プロパティを 0 と 1 の間の値に設定して、透明度を追加します。

f = @(x,y,z) x.^2 + y.^2 - z.^2;
fimplicit3(f,'EdgeColor','none','FaceAlpha',.5)

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

陰関数表面をプロットして、陰関数表面のオブジェクトを変数 fs に割り当てます。

f = @(x,y,z) 1./x.^2 - 1./y.^2 + 1./z.^2;
fs = fimplicit3(f)

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

fs = 
  ImplicitFunctionSurface with properties:

     Function: @(x,y,z)1./x.^2-1./y.^2+1./z.^2
    EdgeColor: [0 0 0]
    LineStyle: '-'
    FaceColor: 'interp'

  Use GET to show all properties

陰関数表面の作成後に、fs を使用してそのプロパティにアクセスし、変更します。たとえば、XRange プロパティを [0 5] に設定して、正の x 値のみを表示します。EdgeColor プロパティを 'none' に設定して、ラインを削除します。FaceAlpha プロパティを 0.8 に設定して、透明度を追加します。

fs.XRange = [0 5];
fs.EdgeColor = 'none';
fs.FaceAlpha = 0.8;

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

入力引数

すべて折りたたむ

プロット対象の 3 次元陰関数。名前付き関数または無名関数の関数ハンドルとして指定します。

w = f(x,y,z) の形式の関数を指定します。関数は、3 つの 3 次元配列の入力引数を受け入れ、同じサイズの 3 次元配列の出力引数を 1 つ返さなければなりません。最高のパフォーマンスを得るには、行列演算子ではなく、配列演算子を使用します。たとえば、* (mtimes) ではなく .* (times) を使用します。

例: fimplicit3(@(x,y,z) x.^2 + y.^2 - z.^2)

xy および z のプロット区間。次のいずれかの形式で指定します。

  • [min max] の形式の 2 要素ベクトル — xy および z で同じプロット区間 [min max] を使用します。

  • [xmin xmax ymin ymax zmin zmax] の形式の 6 要素ベクトル — xy および z で異なるプロット区間を使用します。x の区間 [xmin xmax]y の区間 [ymin ymax] および z の区間 [zmin zmax] にプロットします。

例: fimplicit3(f,[-2 3 -4 5 -3 3])

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

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

名前と値の引数

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

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

例: fimplicit3(f,'MeshDensity',50,'FaceAlpha',0.5) は、評価点の数と透明度の値を指定します。

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

方向ごとの評価点の数。スカラーとして指定します。

面の透明度。[0,1] の範囲のスカラーとして指定します。すべての面に一様な透明度を使用します。値 1 は完全に不透明で、値 0 は完全に透明です。01 の間の値は半透明です。

面の色。'interp'、RGB 3 成分、16 進数カラー コード、色名、または省略名として指定します。既定値の 'interp' を使用すると、ZData の値に基づいて色が内挿されます。

カスタム色を使用する場合は、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

ラインの色。'interp'、RGB 3 成分、16 進数カラー コード、色名、または省略名として指定します。既定の RGB 3 成分の値 [0 0 0] は、黒に相当します。'interp' 値では、ZData の値に基づいてエッジに着色します。

カスタム色を使用する場合は、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

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

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

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 ピクセル幅で表示されます。

ヒント

  • 最高のパフォーマンスを実現し、警告メッセージを回避するには、要素単位の演算子を使用します。たとえば、x*y ではなく x.*y を使用してください。詳細については、配列と行列の演算を参照してください。

  • チャートにズームインすると、fimplicit3 はデータを再計算します。これにより、表示されていなかった詳細が明らかになることがあります。

バージョン履歴

R2016b で導入