拟合方程比较接近检测值。
可以按下列方法检验,给你一个例子
x=[10 20 30 40 50 60 70];
y=[0。63 0。76 0。80 0。82 0。82 0。80 0。
70];
n = 7; x1 = x(1); xn = x(n);
polytool(x,y,1)
% 观察多项式拟合的图形,选择置信区间最小的多项式阶数
m=input(' 输入多项式拟合的阶数 m = ');
[p,S]=polyfit(x,y,m);
disp ' 输出多项式的各项系数'
fprintf (1,' a = %3。
16f
',p)
disp ' 输出多项式的有关信息 S'
disp (S)
[yh,delta]=polyconf(p,x,S);
disp ' 观测数据 拟合数据'
disp ' x y yh'
for i = 1 : n
xy = [x(i) y(i) yh(i)];
disp (xy)
end
plot(x,y,'r。
')
title('f 实验数据离散点图 / 多项式曲线 it y = a0 a1x a2x^2 a3x^3 。。。')
grid
hold on;
xi=[x1:0。
1:xn];
yi=polyval(p,xi);
plot(xi,yi,'k-')
%拟合效果和精度检验
Q=sum((y-yh)。^2);%剩余平方和
SGM = sqrt(Q / (n - 2));%标准误差
RR = sum((yh-mean(y))。
^2)/sum((y-mean(y))。^2);%相关指数
====================运行结果====================
输入多项式拟合的阶数 m = 4
输出多项式的各项系数
a = -0。
0000001477272727
a = 0。0000239141414141
a = -0。0014875000000001
a = 0。0429430014430029
a = 0。
3271428571428456
输出多项式的有关信息 S
R: [5x5 double]
df: 2
normr: 0。004413674147524
观测数据 拟合数据
x y yh
10。
000000000000000 0。630000000000000 0。630259740259738
20。000000000000000 0。760000000000000 0。758679653679654
30。
000000000000000 0。800000000000000 0。802705627705628
40。000000000000000 0。820000000000000 0。817186147186147
50。
000000000000000 0。820000000000000 0。821515151515151
60。000000000000000 0。800000000000000 0。799632034632034
70。
000000000000000 0。700000000000000 0。700021645021645
Q =
1。948051948051898e-005 %剩余平方和
SGM =
0。
001973855084879 %标准误差
RR =
0。999369270877153 %拟合精度。
全部