2차원 함수 플로팅
2차원 함수 플로팅 (Two-dimensional Function Plotting)
플로팅할 데이터를 손수 만들지 않아도, 함수 핸들이나 함수를 정의하는 문자열에서 바로 그래프를 그릴 수 있어요. fplot 함수는 x 데이터와 y 데이터 대신 함수 이름과 x 좌표 범위를 받아 선형 축으로 2차원 플롯을 만들어 내죠. 예를 들어:
fplot (@sin, [-10, 10], 201);
는 위와 동등한 플롯을 만들지만, 추가로 플롯된 함수의 이름을 표시하는 범례(legend)도 포함합니다.
본문
fplot
fplot (fcn)
fplot (fcn, limits)
fplot (…, tol)
fplot (…, n)
fplot (…, fmt)
fplot (…, property, value, …)
fplot (hax, …)
[x, y] = fplot (…)
limits로 정의된 범위 안에서 함수 fcn을 플롯합니다. fcn은 함수 핸들, 인라인 함수, 또는 평가할 함수의 이름을 담은 문자열이에요.
플롯의 범위는 [xlo, xhi] 또는 [xlo, xhi, ylo, yhi] 형태예요. 범위를 지정하지 않으면 기본값은 [-5, 5]입니다.
다음 세 인자는 모두 선택 사항이고, 어떤 순서로든 몇 개든 줄 수 있어요.
tol— 플롯에 사용할 상대 허용오차로, 기본값은2e-3(.2%)입니다.n— 사용할 최소 점 수예요.n을 지정하면 최대 스텝 크기는(xhi - xlo) / n입니다. 상대 허용오차 요구 조건을 맞추기 위해n보다 많은 점이 사용될 수도 있어요.fmt—plot명령이 사용할 선 스타일을 지정합니다.
여러 property-value 쌍도 지정할 수 있는데, 반드시 쌍으로 나타나야 해요. 이 인자들은 plot이 그린 선 객체에 적용됩니다. 선 속성 전체 목록은 Line Properties에 문서화되어 있어요.
첫 인자 hax가 축 핸들이면, gca가 돌려주는 현재 축이 아니라 그 축에 플롯합니다.
출력 인자가 없으면 결과가 즉시 플롯돼요. 출력 인자가 두 개면 2차원 플롯 데이터가 돌아오고, 그 데이터는 나중에 plot (x, y)로 직접 플롯할 수 있습니다.
예시:
fplot (@cos, [0, 2*pi])
fplot ("[cos(x), sin(x)]", [0, 2*pi])
Programming Notes:
fplot은 연속 함수에 가장 잘 맞아요. 불연속점이 있는 함수는 잘 플롯되지 않을 가능성이 높습니다. 이 제한은 미래에 제거될 수도 있어요.- 함수가 벡터 인자를 받고 반환할 때
fplot성능이 더 좋아집니다. 사용자 정의 함수를 쓸 때 이 점을 고려하고.*,./같은 요소별 연산자를 사용하세요.
See also: ezplot, plot.
함수에서 직접 2차원 플롯을 만들 수 있는 다른 함수로는 ezplot, ezcontour, ezcontourf, ezpolar가 있어요.
ezplot
ezplot (f)
ezplot (f2v)
ezplot (fx, fy)
ezplot (…, dom)
ezplot (…, n)
ezplot (hax, …)
h = ezplot (…)
함수 f가 정의하는 2차원 곡선을 플롯합니다. 함수 f는 문자열, 인라인 함수, 또는 함수 핸들이고 변수가 하나 또는 둘일 수 있어요. f가 변수 하나면 그 함수는 영역 -2*pi < x < 2*pi에서 500개 점으로 플롯됩니다.
f2v가 두 변수의 함수면 암시적 함수 f(x, y) = 0을 메시(mesh) 영역 -2*pi <= x | y <= 2*pi에서 각 차원당 60개 점으로 계산합니다. 예를 들어:
ezplot (@(x, y) x.^2 - y.^2 - 1)
두 개의 함수를 입력으로 주면 매개변수 함수
x = fx (t)
y = fy (t)
를 영역 -2*pi <= t <= 2*pi에서 500개 점으로 플롯해요.
dom이 두 요소짜리 벡터면 x·y(또는 매개변수 플롯의 t)의 최솟값과 최댓값을 나타내요. dom이 네 요소짜리 벡터면 최솟값·최댓값은 [xmin xmax ymin ymax]입니다. n은 함수를 플롯하는 데 사용할 점 수를 정의하는 스칼라예요.
첫 인자 hax가 축 핸들이면 gca가 돌려주는 현재 축이 아니라 그 축에 플롯합니다. 선택적 반환값 h는 만들어진 선 객체들의 그래픽 핸들 벡터예요.
See also: plot, ezplot3, ezpolar, ezcontour, ezcontourf, ezmesh, ezmeshc, ezsurf, ezsurfc.
ezcontour
ezcontour (f)
ezcontour (…, dom)
ezcontour (…, n)
ezcontour (hax, …)
h = ezcontour (…)
함수의 등고선(contour)을 플롯합니다. f는 두 인자를 가진 문자열, 인라인 함수, 또는 함수 핸들로 함수를 정의해요. 기본적으로 플롯은 메시 영역 -2*pi <= x | y <= 2*pi에서 각 차원당 60개 점으로 그려집니다.
dom이 두 요소 벡터면 x·y의 최솟값·최댓값을, 네 요소 벡터면 최솟값·최댓값이 [xmin xmax ymin ymax]입니다. n은 각 차원에서 사용할 점 수를 정의하는 스칼라예요.
첫 인자 hax가 축 핸들이면 그 축에 플롯합니다. 선택적 반환값 h는 만들어진 플롯의 그래픽 핸들이에요.
예시:
f = @(x,y) sqrt (abs (x .* y)) ./ (1 + x.^2 + y.^2);
ezcontour (f, [-3, 3]);
See also: contour, ezcontourf, ezplot, ezmeshc, ezsurfc.
ezcontourf
ezcontourf (f)
ezcontourf (…, dom)
ezcontourf (…, n)
ezcontourf (hax, …)
h = ezcontourf (…)
함수의 채워진 등고선(filled contour)을 플롯합니다. f는 두 인자를 가진 문자열, 인라인 함수, 또는 함수 핸들로 함수를 정의해요. 기본적으로 메시 영역 -2*pi <= x | y <= 2*pi에서 각 차원당 60개 점으로 그려집니다.
dom·n·hax·h는 ezcontour와 같은 규칙을 따라요.
예시:
f = @(x,y) sqrt (abs (x .* y)) ./ (1 + x.^2 + y.^2);
ezcontourf (f, [-3, 3]);
See also: contourf, ezcontour, ezplot, ezmeshc, ezsurfc.
ezpolar
ezpolar (f)
ezpolar (…, dom)
ezpolar (…, n)
ezpolar (hax, …)
h = ezpolar (…)
극좌표로 2차원 함수를 플롯합니다. 함수 f는 단일 인자를 가진 문자열, 인라인 함수, 또는 함수 핸들이에요. 예상되는 함수 형태는 rho = f (theta)입니다. 기본적으로 플롯은 영역 0 <= theta <= 2*pi에서 500개 점으로 그려집니다.
dom이 두 요소 벡터면 theta의 최솟값·최댓값을 나타내요. n은 함수를 플롯할 점 수를 정의하는 스칼라예요.
첫 인자 hax가 축 핸들이면 그 축에 플롯합니다. 선택적 반환값 h는 만들어진 플롯의 그래픽 핸들이에요.
예시:
ezpolar (@(t) sin (5/4 * t), [0, 8*pi]);
See also: polar, ezplot.
더 알아보기
- octave-plotting — 플로팅 개요
- octave-two-dimensional-plots — 2차원 플롯
- octave-three-dimensional-function-plotting — 3차원 함수 플로팅