이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

fcontour

등고선 플로팅

구문

fcontour(f)
fcontour(f,xyinterval)
fcontour(___,LineSpec)
fcontour(___,Name,Value)
fcontour(ax,___)
fc = fcontour(___)

설명

예제

fcontour(f)xy의 디폴트 구간 [-5 5] 위에 놓인 z의 일정한 높이에 대해 함수 z = f(x,y)의 등고선을 플로팅합니다.

예제

fcontour(f,xyinterval)은 지정된 구간에 플로팅합니다. xy 둘 다에 동일한 구간을 사용하려면 [min max] 형식의, 요소를 2개 가진 벡터로 xyinterval을 지정하십시오. 두 값에 각각 다른 구간을 사용하려면 [xmin xmax ymin ymax] 형식의, 요소를 4개 가진 벡터를 지정하십시오.

fcontour(___,LineSpec)은 등고선의 선 스타일과 색을 설정합니다. 예를 들어, '-r'은 빨간색 선을 지정합니다. 위에 나와 있는 입력 인수의 조합 다음에 이 옵션을 사용하십시오.

예제

fcontour(___,Name,Value)는 하나 이상의 이름-값 쌍의 인수를 사용하여 line 속성을 지정합니다.

fcontour(ax,___)는 현재 좌표축 대신 ax로 지정된 좌표축에 플로팅됩니다.

예제

fc = fcontour(___)FunctionContour 객체를 반환합니다. fc를 사용하여 특정 FunctionContour 객체의 속성을 쿼리하고 수정할 수 있습니다. 속성 목록은 FunctionContour 속성를 참조하십시오.

예제

모두 축소

의 디폴트 구간에 의 등고선을 플로팅합니다.

f = @(x,y) sin(x) + cos(y);
fcontour(f)

플로팅 구간을 fcontour의 두 번째 인수로 지정합니다. 동일한 좌표축의 다른 구간에 여러 입력값을 플로팅하는 경우, 축 제한이 모든 데이터를 표시할 수 있도록 조정됩니다. 이 동작으로 구간별 입력값을 플로팅할 수 있습니다.

다음과 같이 구간별 입력값을 플로팅합니다.

플로팅 구간은 입니다.

fcontour(@(x,y) erf(x) + cos(y),[-5 0 -5 5])
hold on
fcontour(@(x,y) sin(x) + cos(y),[0 5 -5 5])
hold off
grid on

선 너비가 2인 파선으로 의 등고선을 플로팅합니다.

f = @(x,y) x.^2 - y.^2;
fcontour(f,'--','LineWidth',2)

hold on을 사용하여 동일한 좌표축에 를 플로팅합니다.

fcontour(@(x,y) sin(x)+cos(y))
hold on
fcontour(@(x,y) x-y)
hold off

의 등고선을 플로팅합니다. 변수에 function contour 객체를 할당합니다.

f = @(x,y) exp(-(x/3).^2-(y/3).^2) + exp(-(x+2).^2-(y+2).^2);
fc = fcontour(f)

fc = 
  FunctionContour with properties:

     Function: @(x,y)exp(-(x/3).^2-(y/3).^2)+exp(-(x+2).^2-(y+2).^2)
    LineColor: 'flat'
    LineStyle: '-'
    LineWidth: 0.5000
         Fill: 'off'
    LevelList: [0.2000 0.4000 0.6000 0.8000 1 1.2000 1.4000]

  Show all properties

function contour 객체의 속성을 설정하는 데 점 표기법을 사용하여 선 너비를 1로 변경하고 선 스타일을 파선으로 변경합니다. LevelList 속성을 설정하여 01에 가까운 등고선을 표시합니다. 컬러바를 추가합니다.

fc.LineWidth = 1;
fc.LineStyle = '--';
fc.LevelList = [1 0.9 0.8 0.2 0.1];
colorbar

다음의 등고선 사이에 있는 영역을 채워 일몰처럼 보이는 플롯을 생성합니다.

f = @(x,y) erf((y+2).^3) - exp(-0.65*((x-2).^2+(y-2).^2));
fcontour(f,'Fill','on');

보간 음영을 원하는 경우 fsurf 함수를 사용하고 이 함수의 'EdgeColor' 옵션을 'none'으로 설정하는데, 그 뒤에 view(0,90) 명령이 오도록 하십시오.

'LevelList' 옵션을 사용하여 fcontour에서 등고선을 그리는 값을 설정합니다.

f = @(x,y) sin(x) + cos(y);
fcontour(f,'LevelList',[-1 0 1])

'MeshDensity' 옵션을 사용하여 등고선의 해상도를 제어합니다. 'MeshDensity' 값을 키우면 더욱 부드럽고 정확한 플롯을 만들 수 있으며 줄이면 플로팅 속도를 높일 수 있습니다.

subplot을 사용하여 Figure를 두 개로 나눕니다. 첫 번째 서브플롯에서 의 등고선을 플로팅합니다. 정사각형의 코너가 서로 붙어 있지 않습니다. 이 문제를 수정하려면 두 번째 서브플롯에서 'MeshDensity'200으로 늘리십시오. 이제 코너가 서로 붙게 되는데, 이를 통해 'MeshDensity' 값을 늘리면 해상도가 증가함을 알 수 있습니다.

f = @(x,y) sin(x).*sin(y);
subplot(2,1,1)
fcontour(f)
title('Default Mesh Density (71)')

subplot(2,1,2)
fcontour(f,'MeshDensity',200)
title('Custom Mesh Density (200)')

를 플로팅합니다. 그리드 선을 표시하고 제목과 축 레이블을 추가합니다.

fcontour(@(x,y) x.*sin(y) - y.*cos(x), [-2*pi 2*pi], 'LineWidth', 2);
grid on
title({'xsin(y) - ycos(x)','-2\pi < x < 2\pi and -2\pi < y < 2\pi'})
xlabel('x')
ylabel('y')

axes 객체의 XTickLabel 속성과 XTick 속성을 설정하여 x축 눈금 값과 관련 레이블을 설정합니다. gca를 사용하여 axes 객체에 액세스합니다. 마찬가지로, y축 눈금 값과 관련 레이블을 설정합니다.

ax = gca;
ax.XTick = ax.XLim(1):pi/2:ax.XLim(2);
ax.XTickLabel = {'-2\pi','-3\pi/2','-\pi','-\pi/2','0','\pi/2','\pi','3\pi/2','2\pi'};
ax.YTick = ax.YLim(1):pi/2:ax.YLim(2);
ax.YTickLabel = {'-2\pi','-3\pi/2','-\pi','-\pi/2','0','\pi/2','\pi','3\pi/2','2\pi'};

입력 인수

모두 축소

플로팅할 함수로, 명명된 함수나 익명 함수에 대한 함수 핸들로 지정됩니다.

z = f(x,y) 형식의 함수를 지정해야 합니다. 이 함수는 행렬 입력 인수 두 개를 받고 같은 크기를 갖는 행렬 출력 인수 하나를 반환해야 합니다. 최적의 성능을 구현하려면 행렬 연산자 대신 배열 연산자를 사용하십시오. 예를 들어, *(mtimes) 대신 .*(times)를 사용하십시오.

예: f = @(x,y) sin(x) + cos(y);

xy의 플로팅 구간으로, 다음 형식 중 하나로 지정됩니다.

  • [min max] 형식의 벡터 — xy 둘 다에 구간 [min max]를 사용합니다.

  • [xmin xmax ymin ymax] 형식의 벡터 — x에 구간 [xmin xmax]를, y에 구간 [ymin ymax]를 사용합니다.

axes 객체입니다. axes 객체를 지정하지 않으면 fcontour는 현재 좌표축을 사용합니다.

선 스타일과 색으로, 선 스타일 지정자나 색 지정자, 또는 둘 다를 포함하는 문자형 벡터 또는 string형으로 지정됩니다.

예: '--r'은 빨간색 파선을 지정합니다.

다음 두 표에는 선 스타일과 색에 대한 옵션이 나열되어 있습니다.

선 스타일 지정자설명
-실선(디폴트 값)
--파선
:점선
-.일점 쇄선
색 지정자설명

y

노란색

m

자홍색

c

녹청색

r

빨간색

g

녹색

b

파란색

w

흰색

k

검은색

이름-값 쌍의 인수

선택적으로 Name,Value 인수가 쉼표로 구분되어 지정됩니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. Name은 따옴표 안에 표시해야 합니다. Name1,Value1,...,NameN,ValueN과 같이 여러 개의 이름-값 쌍의 인수를 어떤 순서로든 지정할 수 있습니다.

예: 'MeshDensity',30

여기에 나와 있는 속성은 일부에 불과합니다. 전체 목록을 보려면 FunctionContour 속성를 참조하십시오.

방향별 계산 지점 개수로, 숫자로 지정됩니다. 디폴트 값은 71입니다. fcontour가 적응형 실행을 사용하므로 실제 계산 지점 개수는 더 많습니다.

예: 30

등고선 사이 채우기로, 다음 값 중 하나로 지정됩니다.

  • 'off' — 등고선 사이의 공간을 색으로 채우지 않습니다.

  • 'on' — 등고선 사이의 공간을 색으로 채웁니다.

등고선 레벨로, z 값의 벡터로 지정됩니다. 기본적으로 fcontour 함수는 ZData 속성의 값 범위를 포괄하는 값을 선택합니다.

이 속성을 설정하면 연결된 모드 속성이 수동으로 설정됩니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

등고선 사이의 간격으로, 스칼라 숫자형 값으로 지정됩니다. 예를 들어, 값 2를 지정하면 2의 증분 간격마다 등고선이 그려집니다. 기본적으로 LevelStepZData 값을 사용하여 결정됩니다.

이 속성을 설정하면 연결된 모드 속성이 'manual'로 설정됩니다.

예: 3.4

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

등고선 색으로, 'flat', RGB 3색 또는 표에 나열된 색 옵션 중 하나로 지정됩니다.

  • 각 등고선에 다른 색을 사용하려면 'flat'을 지정하십시오. 이 색은 등고선 값, 컬러맵, 데이터 값의 컬러맵 스케일링에 의해 결정됩니다. 색 스케일링에 대한 자세한 내용은 caxis를 참조하십시오.

  • 모든 등고선에 같은 색을 사용하려면 RGB 3색이나 표의 색 옵션 중 하나를 지정하십시오.

사용자 지정 색의 경우에는 RGB 3색을 지정하십시오. RGB 3색은 요소를 3개 가진 행 벡터로, 각 요소는 색을 구성하는 빨간색, 녹색, 파란색의 농도를 지정합니다. 농도의 범위는 [0,1]이어야 합니다(예: [0.4 0.6 0.7]). 몇몇의 흔한 색은 이름으로 지정할 수도 있습니다. 다음 표에는 색의 긴 이름과 짧은 이름 옵션, 그리고 각각에 대응하는 RGB 3색 값이 나열되어 있습니다.

옵션설명대응하는 RGB 3색
'red' 또는 'r'빨간색[1 0 0]
'green' 또는 'g'녹색[0 1 0]
'blue' 또는 'b'파란색[0 0 1]
'yellow' 또는 'y'노란색[1 1 0]
'magenta' 또는 'm'자홍색[1 0 1]
'cyan' 또는 'c'녹청색[0 1 1]
'white' 또는 'w'흰색[1 1 1]
'black' 또는 'k'검은색[0 0 0]
'none'색 없음해당 없음

선 너비로, 양의 값으로 지정됩니다(단위: 포인트). 선에 마커가 있는 경우 선 너비는 마커 가장자리에도 영향을 미칩니다.

예: 0.75

출력 인수

모두 축소

하나 이상의 FunctionContour 객체로, 스칼라나 벡터로 반환됩니다. 이러한 객체를 사용하여 특정 등고선 플롯의 속성을 쿼리하고 수정할 수 있습니다. 속성 목록은 FunctionContour 속성를 참조하십시오.

참고 항목

함수

속성

R2016a에 개발됨