实验内容及要求
某类疾病发病率为y‰和年龄段x(每五年为一段,例如0~5岁为第一段,6~10岁为第二段……)之间有形如的经验关系,观测得到的数据表如下:
x |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
|
y |
0.898 |
2.38 |
3.07 |
1.84 |
2.02 |
1.94 |
2.22 |
2.77 |
4.02 |
|
x |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
y |
4.76 |
5.46 |
6.53 |
10.9 |
16.5 |
22.5 |
35.7 |
50.6 |
61.6 |
81.8 |
实验要求:
(1)用最小二乘法确定模型中的参数a和b(提示函数:lsqcurvefit,lsqnonlin)。
(2)利用MATLAB画出离散数据及拟合函数图形。
(3)利用MATLAB画出离散点处的误差图,并计算相应的均方误差。
程序源码:
tic x=1:19;%给定的x,y数据 y=[0.898 2.38 3.07 1.84 2.02 1.94 2.22 2.77 4.02 4.76 5.46 6.53 10.9 16.5 22.5 35.7 50.6 61.6 81.8]; a0=[1 1];%设定计算初始值 for i=1:50 a=lsqcurvefit('Modelfun',a0,x,y); a0=a; end y1=a(1)*exp(a(2)*x); plot(x,y,'o',x,y1);hold on %离散点及拟合函数图形 y2=y1-y; Jerr=norm(y2,2);%均方差 plot(x,y2,'r-');hold off %误差图 title('离散点、拟合函数及误差图形') legend('离散点','插值函数','误差'); a0 Jerr toc
实验结果
①待定参数a和b分别为:0.2369 和 0.3090
②离散点数据、拟合函数图形如下图:
Elapsed time is 0.696368 seconds.
③离散点处的误差图已经一同画在上图中。且计算出的相应的均方差为:Jerr =8.6553