Main Content

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

fsurf

3 次元表面のプロット

説明

fsurf(f) は、シンボリック式 f(x,y) の表面プロットを、xy の既定の区間 [-5 5] で作成します。

fsurf(f,[min max]) は、f(x,y)xy の区間 [min max] でプロットします。

fsurf(f,[xmin xmax ymin ymax]) は、f(x,y)x の区間 [xmin xmax]y の区間 [ymin ymax] でプロットします。関数 fsurfsymvar を使用して、変数を並べ替え、区間を割り当てます。

fsurf(funx,funy,funz) は、パラメトリックな表面 x = x(u,v)y = y(u,v)z = z(u,v) を、uv の区間 [-5 5] でプロットします。

fsurf(funx,funy,funz,[uvmin uvmax]) は、パラメトリックな表面 x = x(u,v)y = y(u,v)z = z(u,v) を、uv の区間 [uvmin uvmax] でプロットします。

fsurf(funx,funy,funz,[umin umax vmin vmax]) は、パラメトリックな表面 x = x(u,v)y = y(u,v)z = z(u,v) を、u の区間 [umin umax]v の区間 [vmin vmax] でプロットします。関数 fsurfsymvar を使用して、パラメトリック変数を並べ替え、区間を割り当てます。

fsurf(___,LineSpec) は、LineSpec を使用してライン スタイル、マーカー記号、面の色を設定します。このオプションは、前述のすべての入力引数の組み合わせの後で使用できます。

fsurf(___,Name,Value) は、1 つ以上の Name,Value 引数ペアを使用して、ラインのプロパティを指定します。このオプションは、前述の構文のすべての入力引数の組み合わせの後で使用できます。

fsurf(ax,___) は、現在の axes オブジェクト gca ではなくオブジェクト ax をもつ座標軸にプロットします。

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

すべて折りたたむ

入力 sin(x)+cos(y) を既定の範囲 -5<x<5 および -5<y<5 にわたってプロットします。

syms x y
fsurf(sin(x)+cos(y))

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

tan-1(x+iy) の実数部を既定の範囲 -5<x<5 および -5<y<5 にわたってプロットします。

syms f(x,y)
f(x,y) = real(atan(x + i*y));
fsurf(f)

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

プロット区間を fsurf の 2 番目の引数に与えることで、sin(x)+cos(y) を区間 -π<x<π-5<y<5 にプロットします。

syms x y
f = sin(x) + cos(y);
fsurf(f, [-pi pi -5 5])

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

次のパラメーター化された表面のプロットを

x=rcos(s)sin(t)y=rsin(s)sin(t)z=rcos(t)wherer=2+sin(7s+5t)

0<s<2π0<t<π で行います。

camlight を使用してプロットの外観を改善します。

syms s t
r = 2 + sin(7*s + 5*t);
x = r*cos(s)*sin(t);
y = r*sin(s)*sin(t);
z = r*cos(t);
fsurf(x, y, z, [0 2*pi 0 pi])
camlight
view(46,52)

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

クラインの壺の区分的式のプロット

x(u,v)={-4cos(u)[1+sin(u)]-r(u)cos(u)cos(v)0<uπ-4cos(u)[1+sin(u)]+r(u)cos(v)π<u<2πy(u,v)=r(u)sin(v)z(u,v)={-14sin(u)-r(u)sin(u)cos(v)0<uπ-14sin(u)π<u<2πwherer(u)=4-2cos(u)

0<u<2π0<v<2π で行います。

クラインの壺には片側の表面しかないことを示します。

syms u v;
r = @(u) 4 - 2*cos(u);
x = piecewise(u <= pi, -4*cos(u)*(1+sin(u)) - r(u)*cos(u)*cos(v),...
    u > pi, -4*cos(u)*(1+sin(u)) + r(u)*cos(v));
y = r(u)*sin(v);
z = piecewise(u <= pi, -14*sin(u) - r(u)*sin(u)*cos(v),...
    u > pi, -14*sin(u));
h = fsurf(x,y,z, [0 2*pi 0 2*pi]);

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

xy について -2π から 2π まで、3 次元表面 ysin(x)-xcos(y) をプロットします。タイトルと座標軸ラベルを追加します。

x 軸の範囲を pi/2 の間隔にして、x 軸の目盛りを作成します。round を使用して座標軸の範囲を pi/2 の倍数に正確に変換し、S の目盛りのシンボリックな値を取得します。XTick プロパティを使用して、これらの目盛りを表示します。arrayfun を使用して texlabelS に適用して、x 軸ラベルを作成します。XTickLabel プロパティを使用して、これらのラベルを表示します。以上の手順を、y 軸について繰り返します。

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

syms x y
fsurf(y.*sin(x)-x.*cos(y), [-2*pi 2*pi])
title('ysin(x) - xcos(y) for x and y in [-2\pi,2\pi]')
xlabel('x')
ylabel('y')
zlabel('z')

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

S = sym(ax.YLim(1):pi/2:ax.YLim(2));
S = sym(round(vpa(S/pi*2))*pi/2);
ax.YTick = double(S);
ax.YTickLabel = arrayfun(@texlabel,S,'UniformOutput',false);

Figure contains an axes object. The axes object with title ysin(x) blank - blank xcos(y) blank for blank x blank and blank y blank in blank [-2 pi ,2 pi ], xlabel x, ylabel y contains an object of type functionsurface.

t の異なる値に対し異なるライン スタイルを使用して、パラメトリックな表面 x=ssin(t)y=-scos(t)z=t をプロットします。-5<t<-2 に対しては、緑のドット マーカー付きの破線を使用します。-2<t<2 に対しては、LineWidth1 を、面の色に緑を使用します。2<t<5 について、EdgeColornone に設定してラインを非表示にします。

syms s t
fsurf(s*sin(t),-s*cos(t),t,[-5 5 -5 -2],'--.','MarkerEdgeColor','g')
hold on
fsurf(s*sin(t),-s*cos(t),t,[-5 5 -2 2],'LineWidth',1,'FaceColor','g')
fsurf(s*sin(t),-s*cos(t),t,[-5 5 2 5],'EdgeColor','none')

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

パラメトリックな表面をプロットします

x=e-|u|/10sin(5|v|)y=e-|u|/10cos(5|v|)z=u.

fcontour がプロット オブジェクトを返すように出力を指定します。

syms u v
x = exp(-abs(u)/10).*sin(5*abs(v));
y = exp(-abs(u)/10).*cos(5*abs(v));
z = u;
fs = fsurf(x,y,z)

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

fs = 
  ParameterizedFunctionSurface with properties:

    XFunction: exp(-abs(u)/10)*sin(5*abs(v))
    YFunction: exp(-abs(u)/10)*cos(5*abs(v))
    ZFunction: u
    EdgeColor: [0 0 0]
    LineStyle: '-'
    FaceColor: 'interp'

  Use GET to show all properties

fsURange プロパティを使用して u の範囲を [-30 30] に変更します。EdgeColor プロパティを使用してラインの色を青に設定し、Marker プロパティと MarkerEdgeColor プロパティを使用して白色のドット マーカーを指定します。

fs.URange = [-30 30];
fs.EdgeColor = 'b';
fs.Marker = '.';
fs.MarkerEdgeColor = 'w';

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

fsurf へのベクトル入力を使用して複数の表面をプロットします。または、hold on を使用して、連続して同じ Figure にプロットします。同じ Figure に複数の表面を表示する場合、透明度が有用です。FaceAlpha プロパティを使用して表面プロットの透明度を調整します。FaceAlpha は、0 から 1 の値を取ります。0 は完全な透明で、1 は不透明です。

fsurf へのベクトル入力を使用して平面 x+y および x-y をプロットします。FaceAlpha を使用して平面を半透明にし、両方の平面を表示します。

syms x y
h = fsurf([x+y x-y]);
h(1).FaceAlpha = 0.5;
h(2).FaceAlpha = 0.5;
title('Planes (x+y) and (x-y) at half transparency')

Figure contains an axes object. The axes object with title Planes (x+y) and (x-y) at half transparency contains 2 objects of type functionsurface.

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

subplot を使用して、Figure を 2 つに分割します。最初のサブプロットでは、パラメトリックな表面 x=sin(s)y=cos(s)、および z=(t/10)sin(1/s) をプロットします。表面には大きなギャップがあります。第 2 サブプロットで 'MeshDensity'40 に増やしてこの問題を修正します。fsurf によってギャップが埋められます。これは、'MeshDensity' を増やすとプロットの解像度が向上することを示します。

syms s t

subplot(2,1,1)
fsurf(sin(s), cos(s), t/10.*sin(1./s))
view(-172,25)
title('Default MeshDensity = 35')

subplot(2,1,2)
fsurf(sin(s), cos(s), t/10.*sin(1./s),'MeshDensity',40)
view(-172,25)
title('Increased MeshDensity = 40')

Figure contains 2 axes objects. Axes object 1 with title Default MeshDensity = 35 contains an object of type parameterizedfunctionsurface. Axes object 2 with title Increased MeshDensity = 40 contains an object of type parameterizedfunctionsurface.

'ShowContours' オプションを 'on' に設定して、式 f の表面プロットに対して等高線を表示します。

syms x y
f = 3*(1-x)^2*exp(-(x^2)-(y+1)^2)...
- 10*(x/5 - x^3 - y^5)*exp(-x^2-y^2)...
- 1/3*exp(-(x+1)^2 - y^2);
fsurf(f,[-3 3],'ShowContours','on')

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

表面プロットのアニメーションを作成するには、表示されている式を FunctionXFunctionYFunction、および ZFunction のプロパティを使用して変更した後、drawnow を使用してプロットを更新します。GIF にエクスポートする方法については、imwrite を参照してください。

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

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

$$y = t \cos(s)$$

$$z = \sin(k/s)$$

範囲は $-0.1 < s < 0.1$ および $0 < t < 1$ とします。MeshDensity を 9 に減らしてプロット速度を上げます。

syms s t
h = fsurf(t.*sin(s), cos(s), sin(1./s), [-0.1 0.1 0 1]);
h.MeshDensity = 9;
for i=1:0.1:3
    h.ZFunction = sin(i./s);
    drawnow
end

関数のシンボリック式 f を作成します。

f=3(1-x)2exp(-(x2)-(y+1)2)-10(x/5-x3-y5)exp(-x2-y2)-1/3exp(-(x+1)2-y2).

f 式を表面としてプロットします。fsurf によって返されるハンドルのプロパティ、ライティング プロパティおよび colormap を使用して、表面プロットの外観を改善します。

camlight を使用してライトを作成します。brighten を使用して輝度を上げます。EdgeColor'none' に設定してラインを削除します。AmbientStrength を使用して周囲光の強度を高めます。詳細は、ライティング、透明度、およびシェーディングを参照してください。座標軸のボックスをオンにします。タイトルについては、latex を使用して f を LaTeX に変換します。最後に、座標軸の目盛り、座標軸のラベルおよびタイトルの外観を改善するために、'Interpreter''latex' に設定します。

syms x y
f = 3*(1-x)^2*exp(-(x^2)-(y+1)^2)... 
   - 10*(x/5 - x^3 - y^5)*exp(-x^2-y^2)... 
   - 1/3*exp(-(x+1)^2 - y^2);
h = fsurf(f,[-3 3]);

camlight(110,70)
brighten(0.6)
h.EdgeColor = 'none';
h.AmbientStrength = 0.4;

a = gca;
a.TickLabelInterpreter = 'latex';
a.Box = 'on';
a.BoxStyle = 'full';

xlabel('$x$','Interpreter','latex')
ylabel('$y$','Interpreter','latex')
zlabel('$z$','Interpreter','latex')
title_latex = ['$' latex(f) '$'];
title(title_latex,'Interpreter','latex')

Figure contains an axes object. The axes object with title 3 blank e toThePowerOf minus leftParenthesis y plus 1 rightParenthesis Squared baseline minus x Squared baseline baseline blank leftParenthesis x minus 1 rightParenthesis Squared baseline minus StartFraction e toThePowerOf minus leftParenthesis x plus 1 rightParenthesis Squared baseline minus y Squared baseline baseline over 3 EndFraction plus e toThePowerOf minus x Squared baseline minus y Squared baseline baseline blank leftParenthesis 1 0 blank x Cubed baseline minus 2 blank x plus 1 0 blank y toThePowerOf 5 baseline rightParenthesis, xlabel $x$, ylabel $y$ contains an object of type functionsurface.

x-y 平面で下を、z=x+2 平面で上を区切られた円筒シェルをプロットします。

syms r t u
fsurf(cos(t),sin(t),u*(cos(t)+2),[0 2*pi 0 1])
hold on;

平面 z=x+2 の表面プロットを追加します。

fsurf(r*cos(t),r*sin(t),r*cos(t)+2,[0 1 0 2*pi])

Figure contains an axes object. The axes object contains 2 objects of type parameterizedfunctionsurface.

トーラスの表面プロットに回転と平行移動を適用します。

トーラスはパラメトリックに次のように定義できます。

x(θ,φ)=(R+acosθ)cosφy(θ,φ)=(R+acosθ)sinφz(θ,φ)=asinφ

ここで、

  • θ は極角、φ は方位角です。

  • a はチューブの半径です。

  • R はチューブの中心からトーラスの中心までの距離です。

a および R の値をそれぞれ 1 および 5 に定義します。fsurf を使用してトーラスをプロットします。

syms theta phi
a = 1;
R = 4;
x = (R + a*cos(theta))*cos(phi);
y = (R + a*cos(theta))*sin(phi);
z = a*sin(theta);
fsurf(x,y,z,[0 2*pi 0 2*pi])
hold on

トーラスに x 軸周りの回転を適用します。回転行列を定義します。トーラスを 90 度または π/2 ラジアンの角度で回転します。

alpha = pi/2;
Rx = [1 0 0;
      0 cos(alpha) -sin(alpha);
      0 sin(alpha) cos(alpha)];
r = [x; y; z];
r_90 = Rx*r;

トーラスの中心を、x 軸に沿って 5 シフトします。既存のグラフに、回転し平行移動したトーラスの 2 番目のプロットを追加します。

fsurf(r_90(1)+5,r_90(2),r_90(3))
axis([-5 10 -5 10 -5 5])
hold off

Figure contains an axes object. The axes object contains 2 objects of type parameterizedfunctionsurface.

入力引数

すべて折りたたむ

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

x 軸と y 軸のプロット区間。2 つの数値のベクトルとして指定します。既定値は [-5 5] です。

x 軸と y 軸のプロット区間。4 つの数値のベクトルとして指定します。既定値は [-5 5 -5 5] です。

uv のパラメトリック関数。シンボリック式またはシンボリック関数として指定します。

u 軸と v 軸のプロット区間。2 つの数値のベクトルとして指定します。既定値は [-5 5] です。

uv のプロット区間。4 つの数値のベクトルとして指定します。既定値は [-5 5 -5 5] です。

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

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

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

方向ごとの評価点の数。数値として指定します。既定値は 35 です。fsurf オブジェクトは適応評価を使用するため、評価点の数は実際の数の方が大きくなります。

例: 100

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

ラインの色。'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 進数のカラー コードは、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

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

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

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' では EdgeColor プロパティと同じ色が使用されます。

カスタム色には、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.5 0.5 0.5]

例: 'blue'

例: '#D2F9A7'

マーカーの塗りつぶし色。'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 つ以上のオブジェクト。スカラーまたはベクトルとして返されます。このオブジェクトは、プロットのタイプによって、関数表面オブジェクトかパラメーター化された表面オブジェクトのいずれかになります。これらのオブジェクトを使用して、特定のラインのプロパティのクエリと変更を行います。詳細は FunctionSurface のプロパティ および ParameterizedFunctionSurface のプロパティ を参照してください。

アルゴリズム

fsurff のシンボリック変数を x 軸に、次に y 軸に割り当て、symvar は割り当てられる変数の順番を決定します。そのため、変数名と軸名が対応しない場合があります。fsurf が x または y を対応する軸に割り当てるように強制するには、プロットするシンボリック関数を作成し、そのシンボリック関数を fsurf に渡します。

たとえば、次のコードは f(x,y) = sin(y) を 2 つの方法でプロットします。1 つ目の方法では、y 軸に対して波形を振動させます。つまり、1 つ目のプロットでは変数 y を対応する y 軸に割り当てます。2 つ目のプロットでは、y を x 軸に割り当てます。これがシンボリック関数内で最初の (および唯一の) 変数であるためです。

syms x y;
f(x,y) = sin(y);

figure;
subplot(2,1,1)
fsurf(f);
subplot(2,1,2)
fsurf(f(x,y)); % Or fsurf(sin(y));
Two surface plots showing f(x,y) = sin(y), one plot with respect to the y-axis and the other plot with respect to the x-axis

バージョン履歴

R2016a で導入