Main Content

plot

cfit 또는 sfit 객체 플로팅

설명

곡면

예제

plot(sfit)sfit 객체 sfit에 주어진 곡면을 현재 좌표축(gca)의 범위에 대해 플로팅합니다. 현재 좌표축이 존재하지 않으면 함수는 sfit을 생성하는 데 사용되는 데이터의 범위에 대해 곡면을 플로팅합니다.

plot(sfit,[x,y],z)sfitx, y, z의 데이터의 산점도 플롯과 함께 플로팅합니다. 좌표축 제한은 xy의 범위로 지정됩니다.

plot(___,Name=Value)는 곡면에 대해 위에 열거된 구문의 입력 인수 조합 외에 하나 이상의 이름-값 인수를 사용하여 옵션을 지정합니다. 예를 들어 플롯의 유형과 제한을 지정할 수 있습니다.

곡선

plot(cfit)cfit 객체 cfit에 주어진 곡선을 현재 좌표축(gca)의 범위에 대해 플로팅합니다. 현재 좌표축이 존재하지 않으면 함수는 cfit을 생성하는 데 사용되는 데이터의 범위에 대해 곡선을 플로팅합니다.

예제

plot(cfit,x,y)cfitxy의 데이터의 산점도 플롯과 함께 플로팅합니다. 좌표축 제한은 x의 범위로 지정됩니다.

plot(cfit,x,y,DataLineSpec)은 산점도 플롯 데이터를 플로팅하는 데 사용되는 색, 마커 기호, 선 스타일을 지정합니다.

plot(cfit,FitLineSpec,x,y,DataLineSpec)plot 함수가 cfit에 주어진 곡선을 플로팅하는 데 사용하는 색, 마커 기호, 선 스타일을 지정합니다.

plot(cfit,x,y,outliers)는 이상값으로 처리할 산점도 플롯 데이터를 지정하고 이를 다른 색으로 플로팅합니다.

plot(cfit,x,y,outliers,OutlierLineSpec)은 이상값을 플로팅하는 데 사용되는 색, 마커 기호, 선 스타일을 지정합니다.

예제

plot(___,ptype)은 곡선에 대해 위에 열거된 구문의 입력 인수 조합을 사용하여 플롯 유형을 지정합니다.

plot(___,ptype,level)ptype"predfunc" 또는 "predobs"인 경우 예측한계에 대한 신뢰수준을 지정합니다.

곡면과 곡선

plot(ax,___)gca가 아니라 ax로 지정된 좌표축에 플로팅됩니다. 인수 ax는 위에 열거된 구문의 입력 인수 조합보다 앞에 올 수 있습니다.

H = plot(___)은 플로팅된 객체에 대한 핸들로 구성된 벡터를 반환합니다.

예제

모두 축소

franke 데이터 세트를 불러옵니다.

load franke

벡터 x, y, z는 Franke의 이변량 테스트 함수에서 생성된 데이터를 포함합니다.

Lowess 평활화 모델을 x, y, z의 데이터에 피팅합니다.

ls = fit([x,y],z,"lowess");

ls는 Lowess 평활화 모델을 데이터에 피팅한 결과를 포함하고 있는 sfit 객체입니다.

ls를 플로팅하고 Figure의 보기를 변경합니다.

plot(ls)
view([19.5 40.0])

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

이 플롯은 Lowess 평활화 피팅이 xy의 값에 걸쳐 z=0z=1.5 사이에 존재하는 파형의 곡면임을 보여줍니다.

titanium 데이터 세트를 불러옵니다. 행 벡터에서 열 벡터로 데이터를 변환합니다.

[x, y] = titanium;
x = x';
y = y';

x는 온도 측정값을 포함하고 y는 티타늄의 속성에 대한 측정값을 포함합니다.

가우스 모델을 x 데이터와 y 데이터에 피팅합니다.

g = fit(x,y,"gauss2");

g는 가우스 모델을 데이터에 피팅한 결과를 포함하고 있는 cfit 객체입니다.

데이터의 산점도 플롯과 함께 g를 플로팅합니다.

plot(g,x,y)

Figure contains an axes object. The axes object with xlabel x, ylabel y contains 2 objects of type line. One or more of the lines displays its values using only markers These objects represent data, fitted curve.

이 플롯은 g가 대부분의 데이터를 가깝게 따라가고 있으며 x가 대략 900일 때 y 데이터가 급등하고 있음을 보여줍니다.

linspace 함수와 sin 함수를 사용하여 기준 정현파 신호에 대한 일부 데이터를 생성합니다.

xdata = linspace(0,2*pi,60)'; 
y0 = sin(xdata);

xdata02π 사이에 있는 60개의 점으로 구성된 벡터이고 y0xdata의 값에 대한 사인 함수 값으로 구성된 벡터입니다.

randn 함수를 사용하여 가우스 분포에서 잡음을 생성합니다.

rng(0,"twister") %  For reproducibility
gnoise = y0.*randn(size(y0));

임펄스 잡음을 생성하려면 먼저 randperm 함수와 round 함수를 사용하여 임의의 인덱스로 구성된 벡터를 만듭니다.

leny0 = length(y0);
p = randperm(leny0);
stop = round(leny0/5);
idx = p(1:stop);

idxy0의 인덱스를 나타내는 정수로 구성된 벡터입니다.

zeros 함수를 사용하여 임펄스 잡음으로 구성된 벡터를 만듭니다. 그런 다음 sign 함수를 사용하여 y0의 요소가 각각 음수와 양수인 idx의 위치에서 잡음 벡터에 값 –55를 할당합니다.

szy = size(y0);
spnoise = zeros(szy);
yidx = y0(idx);
spnoise(idx) = 5*sign(yidx);

y0에 잡음 벡터를 추가합니다.

ydata = y0 + gnoise + spnoise;

ydata는 상수가 아닌 분산을 가진, 잡음이 있는 데이터로 구성된 벡터입니다.

정현파 모델을 ydata에 피팅합니다.

f = fittype("a*sin(b*x)"); 
fit1 = fit(xdata,ydata,f,StartPoint=[1 1]);

fit1은 최소제곱 피팅을 사용하여 정현파 모델을 피팅한 결과를 포함합니다.

fit1의 모델에서 1.5 표준편차를 초과하여 떨어져 있는 xdataydata의 점들로부터 이상값으로 구성된 벡터를 만듭니다.

fdata = feval(fit1,xdata);
outliers = abs(fdata - ydata) > 1.5*std(ydata);

이상값을 제외한 데이터를 다시 피팅합니다.

fit2 = fit(xdata,ydata,f,StartPoint=[1 1],...
           Exclude=outliers);

fit2는 정현파 모델을 이상값을 제외한 데이터에 피팅한 결과를 포함합니다.

로버스트 피팅 알고리즘을 사용하여 세 번째 모델을 피팅합니다.

fit3 = fit(xdata,ydata,f,StartPoint=[1 1],Robust="on");

fit3은 겹제곱 가중치 피팅 알고리즘을 사용하여 정현파 모델을 데이터에 피팅한 결과를 포함합니다.

피팅된 모델들을 비교하려면 데이터, 이상값, 피팅 결과를 플로팅합니다. 각 피팅을 다른 색과 다른 선 스타일로 플로팅하고 자홍색 별표로 이상값을 플로팅합니다.

plot(fit1,"r-",xdata,ydata,"k.",outliers,"m*") 
hold on
plot(fit2,"c--")
plot(fit3,"b:")
xlim([0 2*pi])
legend("data","outlier","fit1","fit2","fit3")

Figure contains an axes object. The axes object with xlabel x, ylabel y contains 5 objects of type line. One or more of the lines displays its values using only markers These objects represent data, outlier, fit1, fit2, fit3.

이 플롯은 각 피팅을 다른 선 색과 다른 선 스타일로 보여줍니다. 3개의 피팅 모두 데이터의 대부분을 따라갑니다. fit1이 다른 두 피팅보다 이상값에 더 가깝습니다.

fit1에 대한 잔차를 플로팅합니다.

figure 
plot(fit1,xdata,ydata,"co","residuals") 
hold on
xlabel("xdata")
ylabel("residuals")
hold off

Figure contains an axes object. The axes object with xlabel xdata, ylabel residuals contains 2 objects of type line. One or more of the lines displays its values using only markers These objects represent data, zero line.

이 플롯은 fit1에 대한 잔차가 xdata의 값에 걸쳐 상수가 아닌 분산을 가지고 있음을 보여줍니다.

입력 인수

모두 축소

플로팅할 곡면 피팅 객체로, sfit 객체로 지정됩니다.

플로팅할 곡선 피팅 객체로, cfit 객체로 지정됩니다.

산점도 플롯 데이터에 대한 x 좌표로, 숫자형 열 벡터로 지정됩니다. cfit 객체 플로팅 시, x를 지정하는 경우 y도 지정해야 합니다. sfit 객체 플로팅 시, x를 지정하는 경우 yz도 지정해야 합니다. xy는 같은 크기여야 합니다.

데이터형: single | double

산점도 플롯 데이터에 대한 y 좌표로, 숫자형 열 벡터로 지정됩니다. cfit 객체 플로팅 시, y를 지정하는 경우 x도 지정해야 합니다. sfit 객체 플로팅 시, y를 지정하는 경우 xz도 지정해야 합니다. xy는 같은 크기여야 합니다.

데이터형: single | double

산점도 플롯 데이터에 대한 z 좌표로, 숫자형 열 벡터로 지정됩니다. sfit 객체를 플로팅할 때만 z를 지정할 수 있으며, 이 경우 xy도 지정해야 합니다. zx는 같은 크기여야 합니다.

데이터형: single | double

산점도 플롯 데이터를 이상값으로 처리하기 위한 표시자로, 논리식, 인덱스 벡터 또는 논리형 벡터로 지정됩니다. cfit 객체를 플로팅할 때만 outliers를 지정할 수 있습니다.

  • 논리식 — plot 함수는 논리식을 충족하는 데이터 점들을 이상값으로 처리합니다.

  • 인덱스 벡터 — plot 함수는 지정된 인덱스에 있는 데이터 점들을 이상값으로 처리합니다.

  • 논리형 벡터 — plot 함수는 outlierstrue인 위치의 데이터 점들을 이상값으로 처리합니다. excludedata 함수를 사용하여, 이상값을 지정하는 논리형 벡터를 만들 수 있습니다.

예제는 피팅에서 점 제외하기 항목을 참조하십시오.

예: x > 10x의 값이 10보다 큰 데이터를 이상값으로 처리합니다.

예: [1 10 25]는 인덱스 1, 10, 25에 있는 데이터를 이상값으로 처리합니다.

예: [zeros(100,1);ones(50,1)]은 마지막 50개의 데이터 점을 이상값으로 처리합니다.

데이터형: logical | single | double

산점도 플롯 데이터에 대한 선 스타일, 마커, 색으로, 기호를 포함하는 문자형 벡터 또는 string형 스칼라로 지정됩니다. 기호는 어떤 순서로 지정해도 좋습니다. 세 가지 특성(선 스타일, 마커, 색)을 모두 지정할 필요는 없습니다. 예를 들어 선 스타일을 생략하고 마커를 지정하면 플롯은 마커만 표시하고 선은 표시하지 않습니다.

cfit 객체를 플로팅할 때만 DataLineSpec을 지정할 수 있습니다.

선 스타일설명
-실선(디폴트 값)
--파선
:점선
-.일점 쇄선
마커설명
o
+플러스 기호
*별표
.
x십자
s정사각형
d다이아몬드
^위쪽 방향 삼각형
v아래쪽 방향 삼각형
>오른쪽 방향 삼각형
<왼쪽 방향 삼각형
p펜타그램
h헥사그램
설명

y

노란색

m

자홍색

c

녹청색

r

빨간색

g

녹색

b

파란색

w

흰색

k

검은색

예: "--or"은 원 마커로 표시된 빨간색 파선을 지정합니다.

데이터형: char | string

cfit에 주어진 곡선에 대한 선 스타일, 마커, 색으로, 기호를 포함하는 문자형 벡터 또는 string형 스칼라로 지정됩니다. 기호는 어떤 순서로 지정해도 좋습니다. 세 가지 특성(선 스타일, 마커, 색)을 모두 지정할 필요는 없습니다. 예를 들어 선 스타일을 생략하고 마커를 지정하면 플롯은 마커만 표시하고 선은 표시하지 않습니다.

선 스타일설명
-실선(디폴트 값)
--파선
:점선
-.일점 쇄선
마커설명
o
+플러스 기호
*별표
.
x십자
s정사각형
d다이아몬드
^위쪽 방향 삼각형
v아래쪽 방향 삼각형
>오른쪽 방향 삼각형
<왼쪽 방향 삼각형
p펜타그램
h헥사그램
설명

y

노란색

m

자홍색

c

녹청색

r

빨간색

g

녹색

b

파란색

w

흰색

k

검은색

예: "--or"은 원 마커로 표시된 빨간색 파선을 지정합니다.

데이터형: char | string

이상값을 플로팅하는 데 사용되는 선 스타일, 마커, 색으로, 기호를 포함하는 문자형 벡터 또는 string형 스칼라로 지정됩니다. 기호는 어떤 순서로 지정해도 좋습니다. 세 가지 특성(선 스타일, 마커, 색)을 모두 지정할 필요는 없습니다. 예를 들어 선 스타일을 생략하고 마커를 지정하면 플롯은 마커만 표시하고 선은 표시하지 않습니다.

cfit 객체를 플로팅할 때만 OutlierLineSpec을 지정할 수 있습니다.

선 스타일설명
-실선(디폴트 값)
--파선
:점선
-.일점 쇄선
마커설명
o
+플러스 기호
*별표
.
x십자
s정사각형
d다이아몬드
^위쪽 방향 삼각형
v아래쪽 방향 삼각형
>오른쪽 방향 삼각형
<왼쪽 방향 삼각형
p펜타그램
h헥사그램
설명

y

노란색

m

자홍색

c

녹청색

r

빨간색

g

녹색

b

파란색

w

흰색

k

검은색

예: "--or"은 원 마커로 표시된 빨간색 파선을 지정합니다.

데이터형: char | string

곡선 피팅을 위한 플롯 유형으로, 다음 중 하나로 지정됩니다.

  • "fit" — 데이터와 피팅

  • "predfunc" — 피팅에 대한 예측한계를 갖는 피팅과 데이터

  • "predobs" — 새로운 관측값에 대한 예측한계를 갖는 피팅과 데이터

  • "residuals" — 잔차

  • "stresiduals" — 표준화 잔차(잔차를 표준편차로 나눈 것)

  • "deriv1" — 피팅의 1계 도함수

  • "deriv2" — 피팅의 2계 도함수

  • "integral" — 피팅의 적분

데이터형: char | string

ptype"predfunc" 또는 "predobs"인 경우 곡선 피팅의 예측 구간에 대한 신뢰수준으로, (0,1) 범위의 스칼라 값으로 지정됩니다.

예: 0.99

데이터형: single | double

대상 좌표축으로, Axes 객체로 지정됩니다. 이 좌표축을 지정하지 않으면 plot 함수는 현재 좌표축(gca)을 사용합니다.

이름-값 인수

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.

예: plot(sfit,[x,y],z,YLim=[0,1],Exclude=[1 10 25])는 이상값으로 처리할 y축 제한과 점들을 지정합니다.

산점도 플롯 데이터를 이상값으로 처리하기 위한 표시자로, 논리식, 인덱스 벡터 또는 논리형 벡터로 지정됩니다.

  • 논리식 — plot 함수는 논리식을 충족하는 데이터 점들을 이상값으로 처리합니다.

  • 인덱스 벡터 — plot 함수는 지정된 인덱스에 있는 데이터 점들을 이상값으로 처리합니다.

  • 논리형 벡터 — plot 함수는 outlierstrue인 위치의 데이터 점들을 이상값으로 처리합니다. excludedata 함수를 사용하여, 이상값을 지정하는 논리형 벡터를 만들 수 있습니다.

Exclude를 지정하는 경우 x 입력 인수, y 입력 인수, z 입력 인수도 지정해야 합니다.

예제는 피팅에서 점 제외하기 항목을 참조하십시오.

예: Exclude=x>10x의 값이 10보다 큰 데이터를 이상값으로 처리합니다.

예: Exclude=[1 10 25]는 인덱스 1, 10, 25에 있는 데이터를 이상값으로 처리합니다.

예: Exclude=[zeros(100,1);ones(50,1)]은 마지막 50개의 데이터 점을 이상값으로 처리합니다.

데이터형: logical | single | double

곡면 피팅 플롯 스타일로, 다음 중 하나로 지정됩니다.

  • "Surface"sfit 객체를 곡면으로 플로팅합니다(디폴트 값).

  • "PredFunc"sfit 객체를 함수에 대한 예측한계를 갖는 곡면으로 플로팅합니다.

  • "PredObs"sfit 객체를 새로운 관측값에 대한 예측한계를 갖는 곡면으로 플로팅합니다.

  • "Residuals"sfit 객체에 대한 잔차를 플로팅합니다. Style"Residuals"로 지정하는 경우, x, y, z도 지정해야 합니다.

  • "Contour"sfit 객체를 등고선 플롯으로 플로팅합니다.

예: Style="Contour"

데이터형: char | string

Style"PredFunc" 또는 "PredObs"인 경우 곡면 피팅의 예측 구간에 대한 신뢰수준으로, (0,1) 범위의 스칼라 값으로 지정됩니다.

예: Level=0.99

데이터형: single | double

곡면 플롯에 대한 x축 제한으로, 요소를 2개 가진 숫자형 벡터로 지정됩니다. x 데이터, y 데이터, z 데이터를 제공하는 경우 좌표축 제한은 xy에 의해 주어집니다. 그렇지 않은 경우 plot 함수는 sfit의 좌표축 제한을 사용합니다.

예: XLim=[0 1]

데이터형: single | double

곡면 플롯에 대한 y축 제한으로, 요소를 2개 가진 숫자형 벡터로 지정됩니다. x 데이터, y 데이터, z 데이터를 제공하는 경우 좌표축 제한은 xy에 의해 주어집니다. 그렇지 않은 경우 plot 함수는 sfit의 좌표축 제한을 사용합니다.

예: YLim=[-100 100]

데이터형: single | double

곡면 플롯에 대한 좌표축의 핸들로, Axes 객체로 지정됩니다.

예: Parent=ax

버전 내역

R2006a 이전에 개발됨