Matlab数据拟合ppt

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

多项式: y a 1 x m a m x a m 1
双曲线(一支):
y
a1 x
a2
指数曲线: ya1ea2x
-
3 拟合函数组中系数的确定
以 f(x)a 1xa2为, 例 即确 a1, a 定 2使得
n
n
J(a1,a2) i2 [(a1xi a2)yi]2达到最小。
i1
i1
为此,只需利用极值的必要条件 J 0(k 1,2)得到关 ak
-
解:
设xteabt
lnx)(abt
问题转化为求参数 a,b 使得
10
J(a,b) (abitlnxi)2
i1
取得最小值. 其中, t i 表示年份, xixti表示人口数量。
解方程组: 1122JJab1i10a10tiai110tii1b10ti2i1b10lnix11i0ln0xiti 0
-
实验问题
据人口统计年鉴,知我国从1949 年至1994年人口数据资料如下: (人口数单位为:百万)
年份 人口数 年份 人口数
1949 541.67 1974 908.59
1954 1959 602.66 672.09
1979 1984 975.42 1034.75
1964 1969 704.99 806.71
拟合曲线 原始数据曲线
仿真结果表明: 人口增加的指数 模型在短期内基 本上能比较准确 地反映人口自然 增长的规律,但 长期预测误差很 大,需要修正预 测模型。
x1=[3.9;5.3;7.2;9.6;12.9;17.1;23.2;31.4;38.6;50 .2];
x2=[62.9;76.0;92.0;106.5;123.2;131.7;150.7;179. 3;204.0;226.5];
lnx1=log(x1); lnx2=log(x2);
-
a12=sum(t1);a11=10;a21=a12;a22=sum(t1.^2); d1=sum(lnx1);d2=sum(lnx1.*t1); A=[a11,a12;a21,a22];D=[d1;d2]; ab=inv(A)*D; disp('a=');disp(ab(1)); disp('b=');disp(ab(2)); for i=1:10
数据拟合
(curve fitting )
-
推求一个解析函数y=f(x), 使其通过或近似通 过有限序列的数据点(xi,yi),即在一定意义下 “最佳”地逼近或拟合已知数据 探索用一类与数据的背景材料规律相适应的解 析表达式,用连续曲线(曲面)近似地刻画离 散点组所表示的坐标之间的函数关系的一种数 据处理方法
即得参数a,b 的值. -
% prog41.m %
% This program is to predict the number of population %
format long
t1=[1790;1800;1810;1820;1830;1840;1850;1860;187 0;1880];
t2=[1890;1900;1910;1920;1930;1940;1950;1960;197 0;1980];
1999年实际人口数量为12.6亿。
-
三、人口预测的Malthus模型
英国人口学家Malthus根据百余年的人口统计资 料,于1798年提出了著名的人口自然增长的指数增 长模型。
基本假设 : 人口(相对)增长率 r 是常数
x(t) ~时刻t 的人口, t=0时人口数为x0
dx rx , dt x ( 0 ) x 0
于 a1 , a2的线性方程组,
n
i1
2[(a1xi
a2 )
yi ]xi
0
n
i 1
2[(a1xi
a2 )
ቤተ መጻሕፍቲ ባይዱ
yi
]
0
-
a1,a2
二、人口预测线性模型
对于开始提出的实验问题, 代入数据,计算得
a11,5 a227754 从而得到人口数与年份的函数关系为
y15x27754线性预测模型
把x=1999代如,估算出1999年的人口数为 y=1252.1(百万)=12.52亿
万)
年份 1890 1900 1910 1920 1930 1940 1950 1960 1970 1980
人口(百 62.9 76.0 92.0 106.5 123.2 131.7 150.7 179.3 204.0 226.5
万)
1. 由前100年的数据求出美国的人口增长Malthus模型。 2. 预测后100年(每隔10年)的人口状况。 3. 根据预测的人口状况和实际的人口数量,讨论人 口模型的改进情况。
x(t)x0ert
指数增长模型
实际中,常用 xteabt lx n t a bt
-
例1
美国1790年-1980年每隔10年的人口记录
年份 1790 1800 1810 1820 1830 1840 1850 1860 1870 1880
人口(百 3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2
1989 1994 1106.76 1176.74
(1)在直角坐标系上作出人口数的图像。
(2)建立人口数与年份的函数关系,并估算1999年 的人口数。
-
yaxb 线性模型
如何确定a,b?
-
一、曲线拟合(平面)
1 曲线拟合问题的提法:
已知一组(二维)数据,即平面上的 n 个点(xi , yi ), i 1,2, L ,n, xi 互不相同,寻求一个函数(曲线)y f (x),
使 f (x) 在某种准则下与所有数据点最为接近,即曲线拟合
得最好,如图:
y
确定f(x)使得
+
i
(xi, yi)
n
n
i2 [f(xi)yi]2
+
+ +
yf(x)
i1
i1
达到最小
+
+
+
+
0
最小二乘准则
x
-
2. 用什么样的曲线拟合已知数据?
1.画图观察; 2.理论分析
常用的曲线函数系类型:
直线: ya1xa2
xx1(i)=exp(ab(1)+ab(2)*t1(i)); end for i=1:10
xx2(i)=exp(ab(1)+ab(2)*t2(i)); end plot(t1,x1,'r*--',t1,xx1,'b+-', t2,x2,‘r*--',t2,xx2,‘b+-');
-
a= -49.79535457790735 b=0.02859807120038
相关文档
最新文档