Main Content

ezmesh

(非推奨) 簡単な 3 次元メッシュ プロット

    ezmesh は推奨されません。代わりに fmesh を使用してください。詳細については、互換性についての考慮事項を参照してください。

    説明

    ezmesh(f) は、関数 mesh を使用して、関数 z = f(x,y) のメッシュ プロットを作成します。xy の既定の区間 [-2π 2π] での f をプロットします。

    ezmesh は、タイトルと軸ラベルをプロットに自動的に追加します。

    ezmesh(f,xyinterval) は、指定された区間でプロットします。xy の両方で同じ区間を使用するには、[min max] の形式をもつ 2 要素ベクトルとして xyinterval を指定します。異なる区間を使用するには、[xmin xmax ymin ymax] の形式をもつ 4 要素ベクトルを指定します。

    ezmesh(funx,funy,funz) は、uv の既定の区間 [-2π 2π] に、x = funx(u,v)y = funy(u,v)z = funz(u,v) で定義されるパラメトリック メッシュをプロットします。

    ezmesh(funx,funy,funz,uvinterval) は、指定された区間にパラメトリック メッシュをプロットします。uv の両方で同じ区間を使用するには、[min max] の形式をもつ 2 要素ベクトルとして uvinterval を指定します。異なる区間を使用するには、[umin umax vmin vmax] の形式をもつ 4 要素ベクトルを指定します。

    ezmesh(___,n) は、nn 列のグリッドを使用してプロットします。このオプションは、前述の構文における任意の入力引数が組み合わされてから使用します。

    ezmesh(___,'circ') は、区間の中心に配置された円盤でプロットします。

    ezmesh(ax,___) は、現在の座標軸 gca ではなく、ax で指定される座標軸にプロットします。前述のいずれかの構文で、任意の入力引数の組み合わせの前に座標軸を指定します。

    s = ezmesh(___) は chart surface オブジェクトを返します。メッシュ プロットを作成した後で変更を加えるには、s を使用します。プロパティの一覧については、Surface のプロパティ を参照してください。

    すべて折りたたむ

    40 行 40 列のグリッド上で関数 f(x,y)=xe-x2-y2 のメッシュ プロットを作成します。

    fh = @(x,y) x.*exp(-x.^2-y.^2);
    ezmesh(fh,40)

    Figure contains an axes object. The axes object with title x blank exp (- x Squared baseline - y Squared baseline ), xlabel x, ylabel y contains an object of type surface.

    カラーマップを単色に設定することにより、メッシュ ラインを一様な青色に設定します。

    colormap([0 0 1])

    Figure contains an axes object. The axes object with title x blank exp (- x Squared baseline - y Squared baseline ), xlabel x, ylabel y contains an object of type surface.

    入力引数

    すべて折りたたむ

    プロット対象の 3 次元関数。文字ベクトル、string スカラー、あるいは名前付き関数または無名関数の関数ハンドルとして指定します。

    z = f(x,y) の形式の関数を指定します。関数は 2 つの行列の入力引数を受け入れ、同じサイズの行列の出力引数を 1 つ返さなければなりません。

    関数を文字ベクトルまたは string スカラーとして指定する場合、配列の乗算、除算、およびべき乗が常に暗黙的に指定されます。たとえば、x^2x.^2 と解釈されます。

    例: 'sqrt(x^2 + y^2)'

    関数を関数ハンドルとして指定する場合に最高のパフォーマンスを得るには、行列演算子ではなく配列演算子を使用します。たとえば、* (mtimes) ではなく .* (times) を使用します。

    例: @(x,y) sin(x).*cos(y)

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

    • [min max] 形式のベクトル — x および y の両方に区間 [min max] を使用します。

    • [xmin xmax ymin ymax] 形式のベクトル — x に区間 [xmin xmax]y に区間 [ymin ymax] を使用します。

    "x" 座標のパラメトリック関数。文字ベクトル、string スカラー、あるいは名前付き関数または無名関数の関数ハンドルとして指定します。

    x = funx(u,v) の形式の関数を指定します。関数は 2 つの行列の入力引数を受け入れ、同じサイズの行列の出力引数を 1 つ返さなければなりません。

    関数を文字ベクトルまたは string スカラーとして指定する場合、配列の乗算、除算、およびべき乗が常に暗黙的に指定されます。たとえば、x^2x.^2 と解釈されます。

    例: 'u*sin(v)'

    関数を関数ハンドルとして指定する場合に最高のパフォーマンスを得るには、行列演算子ではなく配列演算子を使用します。たとえば、* (mtimes) ではなく .* (times) を使用します。

    例: @(u,v) u.*sin(v)

    "y" 座標のパラメトリック関数。文字ベクトル、string スカラー、あるいは名前付き関数または無名関数の関数ハンドルとして指定します。

    y = funy(u,v) の形式の関数を指定します。関数は 2 つの行列の入力引数を受け入れ、同じサイズの行列の出力引数を 1 つ返さなければなりません。

    関数を文字ベクトルまたは string スカラーとして指定する場合、配列の乗算、除算、およびべき乗が常に暗黙的に指定されます。たとえば、x^2x.^2 と解釈されます。

    例: '-u.*cos(v)'

    関数を関数ハンドルとして指定する場合に最高のパフォーマンスを得るには、行列演算子ではなく配列演算子を使用します。たとえば、* (mtimes) ではなく .* (times) を使用します。

    例: @(u,v) -u.*cos(v)

    "z" 座標のパラメトリック関数。文字ベクトル、string スカラー、あるいは名前付き関数または無名関数の関数ハンドルとして指定します。

    z = funz(u,v) の形式の関数を指定します。関数は 2 つの行列の入力引数を受け入れ、同じサイズの行列の出力引数を 1 つ返さなければなりません。

    関数を文字ベクトルまたは string スカラーとして指定する場合、配列の乗算、除算、およびべき乗が常に暗黙的に指定されます。たとえば、x^2x.^2 と解釈されます。

    例: '-u*cos(v)'

    関数を関数ハンドルとして指定する場合に最高のパフォーマンスを得るには、行列演算子ではなく配列演算子を使用します。たとえば、* (mtimes) ではなく .* (times) を使用します。

    例: @(u,v) v

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

    • [min max] 形式のベクトル — u および v の両方に区間 [min max] を使用します。

    • [umin umax vmin vmax] 形式のベクトル — u に区間 [umin umax]v に区間 [vmin vmax] を使用します。

    グリッドのサイズ。正の整数として指定します。グリッドは nn 列の次元をもちます。

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

    拡張機能

    バージョン履歴

    R2006a より前に導入

    すべて折りたたむ

    R2016a: ezmesh は非推奨

    ezmesh は推奨されません。代わりに fmesh を使用してください。ezmesh を削除する予定はありません。

    fmesh では、プロットする入力関数は関数ハンドルであることが求められます。ezmesh は、関数ハンドル、文字ベクトル、または string を受け入れます。次の表に、ezmesh のいくつかの一般的な使用方法と、代わりに fmesh を使用するようにコードを更新する方法を示します。

    非推奨推奨
    ezmesh(@(x,y)x.*exp(-x.^2-y.^2),42)fmesh(@(x,y) x.*exp(-x.^2-y.^2),'MeshDensity',42)
    ezmesh('real(atan(x+i*y))')fmesh(@(x,y) real(atan(x+i*y)))
    ezmesh(@(x,y) sqrt(x.^2+y.^2))fmesh(@(x,y) sqrt(x.^2+y.^2))

    参考

    | | | | |

    トピック