y = polyval(p,x,[],mu) 또는 [y,delta] = polyval(p,x,S,mu)는 polyfit으로 생성되는 선택적 출력값 mu를 사용하여 데이터를 정규화합니다. mu(1)은 mean(x)이고, mu(2)는 std(x)입니다. 이러한 값을 사용하여 polyval은 x의 중심을 0에 두고 단위 표준편차를 갖도록 스케일링합니다.
데이터 점 집합에 선형 모델을 피팅하고 95% 예측 구간의 추정값을 포함하는 결과를 플로팅합니다.
샘플 데이터 점 (x,y)로 구성된 벡터를 몇 개 만듭니다. polyfit을 사용하여 1차 다항식을 데이터에 피팅합니다. 선형 피팅의 계수와 오차 추정값 구조체를 반환하는 2개의 출력값을 지정합니다.
x = 1:100;
y = -0.3*x + 2*randn(1,100);
[p,S] = polyfit(x,y,1)
p = 1×2
-0.3142 0.9614
S = struct with fields:
R: [2×2 double]
df: 98
normr: 22.7673
rsquared: 0.9407
x의 점에서의 p의 1차 다항식 피팅을 계산합니다. polyval이 표준 오차의 추정값을 계산하도록 오차 추정값 구조체를 세 번째 입력값으로 지정합니다. 표준 오차 추정값이 delta에 반환됩니다.
[y_fit,delta] = polyval(p,x,S);
원래 데이터, 선형 피팅, 그리고 95% 예측 구간 를 플로팅합니다.
plot(x,y,'bo')
hold on
plot(x,y_fit,'r-')
plot(x,y_fit+2*delta,'m--',x,y_fit-2*delta,'m--')
title('Linear Fit of Data with 95% Prediction Interval')
legend('Data','Linear Fit','95% Prediction Interval')
polyfit을 3개의 출력값과 함께 사용하고, 문제의 수치적 속성 향상을 위해 정규화를 사용하여 5차 다항식을 피팅합니다. polyfit은 year의 데이터 중심을 0에 두고 표준편차 1을 갖도록 스케일링합니다. 이를 통해 피팅 계산 시 조건이 나쁜 방데르몽드 행렬(Vandermonde Matrix)을 방지할 수 있습니다.
[p,~,mu] = polyfit(T.year, T.pop, 5);
polyval을 4개의 입력값과 함께 사용하여 스케일링된 연도 (year-mu(1))/mu(2)에 대해 p를 계산합니다. 원래 연도에 대해 결과를 플로팅합니다.
f = polyval(p,year,[],mu);
hold on
plot(year,f)
hold off
쿼리 점으로, 벡터로 지정됩니다. polyval은 x에 포함된 점에서 다항식 p를 실행하고 대응하는 함수 값을 y에 반환합니다.
데이터형: single | double 복소수 지원 여부: 예
오차 추정값 구조체입니다. 이 구조체는 [p,S] = polyfit(x,y,n) 구문의 두 번째 출력값입니다. S를 polyval에 대한 입력값으로 지정하여 오차 추정값을 구합니다. S는 다음 표에 있는 필드를 포함합니다.
필드
설명
R
x의 방데르몽드 행렬에 대한 QR 분해의 (치환된) 삼각 R 인수
df
자유도
normr
잔차의 노름(Norm)
rsquared
결정계수(unadjusted R-squared)
y의 데이터가 확률적 데이터인 경우 p의 공분산 행렬 추정값은 (Rinv*Rinv')*normr^2/df입니다. 여기서 Rinv는 R의 역행렬입니다.
정규화 값으로, 요소를 2개 가진 벡터로 지정됩니다. 이 벡터는 [p,S,mu] = polyfit(x,y,n)의 선택적 출력값으로, 다항식 p의 피팅 및 실행의 수치적 속성을 향상시키는 데 사용할 수 있습니다. 값 mu(1)은 mean(x)이고, mu(2)는 std(x)입니다. 이러한 값은 x에서 쿼리 점 중심을 0에 두고 단위 표준편차를 적용하는 데 사용됩니다.
polyval 함수는 GPU 배열을 완전히 지원합니다. GPU에서 이 함수를 실행하려면 입력 데이터를 gpuArray (Parallel Computing Toolbox)로 지정하십시오. 자세한 내용은 GPU에서 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
이 함수는 분산 배열을 완전히 지원합니다. 자세한 내용은 분산 배열을 사용하여 MATLAB 함수 실행 (Parallel Computing Toolbox) 항목을 참조하십시오.