实验内容及要求

某类疾病发病率为y‰和年龄段x(每五年为一段,例如0~5岁为第一段,6~10岁为第二段……)之间有形如blob.png的经验关系,观测得到的数据表如下:


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用最小二乘法确定模型blob.png中的参数ab(提示函数:lsqcurvefitlsqnonlin)

2)利用MATLAB画出离散数据及拟合函数blob.png图形。

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

实验结果

①待定参数ab分别为:0.2369 0.3090

②离散点数据、拟合函数图形如下图:

blob.png

Elapsed time is 0.696368 seconds.

离散点处的误差图已经一同画在上图中。且计算出的相应的均方差为:Jerr =8.6553