Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

fsurf

3차원 곡면 플로팅

설명

예제

fsurf(f)xy의 디폴트 구간 [-5 5]에 기호 표현식 f(x,y)의 곡면 플롯을 만듭니다.

예제

fsurf(f,[min max])xy의 구간 [min max]f(x,y)를 플로팅합니다.

예제

fsurf(f,[xmin xmax ymin ymax])x의 구간 [xmin xmax]y의 구간 [ymin ymax]f(x,y)를 플로팅합니다. fsurf 함수는 symvar을 사용하여 변수의 순서를 정렬하고 구간을 할당합니다.

예제

fsurf(funx,funy,funz)uv의 구간 [-5 5]에 파라미터 곡면 x = x(u,v), y = y(u,v), z = z(u,v)를 플로팅합니다.

fsurf(funx,funy,funz,[uvmin uvmax])uv의 구간 [uvmin uvmax]에 파라미터 곡면 x = x(u,v), y = y(u,v), z = z(u,v)를 플로팅합니다.

예제

fsurf(funx,funy,funz,[umin umax vmin vmax])u의 구간 [umin umax]v의 구간 [vmin vmax]에 파라미터 곡면 x = x(u,v), y = y(u,v), z = z(u,v)를 플로팅합니다. fsurf 함수는 symvar을 사용하여 파라미터 변수의 순서를 정렬하고 구간을 할당합니다.

예제

fsurf(___,LineSpec)LineSpec을 사용하여 선 스타일, 마커 기호, 면 색을 설정합니다. 위에 나와 있는 입력 인수의 조합 다음에 이 옵션을 사용하십시오.

예제

fsurf(___,Name,Value)는 하나 이상의 Name,Value 쌍의 인수를 사용하여 line 속성을 지정합니다. 위에 열거된 구문에 나와 있는 입력 인수의 조합 다음에 이 옵션을 사용하십시오.

fsurf(ax,___)는 현재 axes 객체 gca 대신 객체 ax로 지정된 좌표축에 플로팅합니다.

예제

fs = fsurf(___)는 곡면 유형에 따라 function surface 객체 또는 parameterized function surface 객체를 반환합니다. 이러한 객체를 사용하여 특정 곡면의 속성을 쿼리하고 수정할 수 있습니다. 자세한 내용은 FunctionSurface 속성ParameterizedFunctionSurface 속성를 참조하십시오.

예제

모두 축소

디폴트 범위 -5<x<5-5<y<5에 입력값 sin(x)+cos(y)를 플로팅합니다.

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

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

디폴트 범위 -5<x<5-5<y<5tan-1(x+iy)의 실수부를 플로팅합니다.

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의 두 번째 인수로 지정하여 -π<x<π-5<y<5sin(x)+cos(y)를 플로팅합니다.

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)를 플로팅합니다. 제목과 축 레이블을 추가합니다.

pi/2 간격으로 x축 제한 범위 내에 x축 눈금을 만듭니다. round를 사용하여 축 제한을 pi/2의 정확한 배수로 변환하고 기호 눈금 값을 S로 가져옵니다. XTick 속성을 사용하여 이러한 눈금을 표시합니다. texlabelS에 적용하도록 arrayfun을 사용하여 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의 경우 LineWidth 1과 녹색 면 색을 사용합니다. 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가 plot 객체를 반환하도록 출력값을 지정합니다.

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 속성을 사용하여 곡면 플롯의 투명도를 조정합니다. FaceAlpha0부터 1까지의 값을 갖습니다. 값이 0이면 완전히 투명하고 1이면 불투명합니다.

fsurf에 대한 벡터 입력값을 사용하여 평면 x+yx-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를 두 개로 나눕니다. 첫 번째 서브플롯에 파라미터 곡면 x=sin(s), y=cos(s), z=(t/10)sin(1/s)을 플로팅합니다. 곡면에 큰 간격이 있습니다. 두 번째 서브플롯에서 '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.

Function 속성, XFunction 속성, YFunction 속성, 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은 관의 중심에서 원환면의 중심까지의 거리입니다.

aR의 값을 각각 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만큼 이동합니다. 기존 그래프에 회전 및 평행 이동된 원환면의 두 번째 플롯을 추가합니다.

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형 스칼라 또는 문자형 벡터로 지정됩니다. 기호는 어떤 순서로 지정해도 좋습니다. 세 가지 특성(선 스타일, 마커, 색)을 모두 지정할 필요는 없습니다. 예를 들어, 선 스타일을 생략하고 마커를 지정하면 플롯은 마커만 표시하고 선은 표시하지 않습니다.

예: "--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)으로 지정됩니다. 값이 'on'이면 true와 같고 'off'이면 false와 같습니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState 유형의 on/off 논리값으로 저장됩니다.

선 색으로, '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자리의 16진수 숫자(0에서 F 사이일 수 있음)가 옵니다. 이 값은 대/소문자를 구분하지 않습니다. 따라서 색 코드 "#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인치 = 2.54cm). 선에 마커가 있는 경우 선 너비는 마커 가장자리에도 영향을 미칩니다.

선 너비는 픽셀 너비보다 가늘 수 없습니다. 선 너비를 시스템의 픽셀 너비보다 작은 값으로 설정할 경우 선은 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자리의 16진수 숫자(0에서 F 사이일 수 있음)가 옵니다. 이 값은 대/소문자를 구분하지 않습니다. 따라서 색 코드 "#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자리의 16진수 숫자(0에서 F 사이일 수 있음)가 옵니다. 이 값은 대/소문자를 구분하지 않습니다. 따라서 색 코드 "#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인치 = 2.54cm).

출력 인수

모두 축소

하나 이상의 객체로, 스칼라 또는 벡터로 반환됩니다. 객체는 플롯 유형에 따라 function surface 객체 또는 parameterized surface 객체입니다. 이러한 객체를 사용하여 특정 선의 속성을 쿼리하고 수정할 수 있습니다. 자세한 내용은 FunctionSurface 속성ParameterizedFunctionSurface 속성를 참조하십시오.

알고리즘

fsurff의 기호 변수를 x축에 할당한 다음 y축에 할당하고 symvar은 할당할 변수의 순서를 정합니다. 그러므로 변수와 축 이름이 대응되지 않을 수 있습니다. fsurf가 대응되는 축에 x 또는 y를 할당하도록 강제하려면 플로팅할 기호 함수를 만든 다음 이 기호 함수를 fsurf에 전달하십시오.

예를 들어, 다음 코드는 f(x,y) = sin(y)를 두 가지 방법으로 플로팅합니다. 첫 번째 방법에서는 파형이 y축에 대해 진동하도록 강제됩니다. 즉, 첫 번째 플롯은 y 변수를 그에 대응하는 y축에 할당합니다. 두 번째 플롯은 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에 개발됨