数学实验8-曲线拟合与插值讲解

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


0
a1 , a2
二、人口预测的线性模型
对于开始提出的实验问题, 代如数据,计算得 a1 15,a2 27754
从而得到人口数与年份的函数关系为
y 15x 27754 线性预测模型
把x=1999代如,估算出1999年的人口数为 y=1252.1(百万)=12.52亿
1999年实际人口数量为12.6亿。
使 f (x) 在某种准则下与所有数据点最为接近,即曲线拟合
得最好,如图:
y
确定f(x)使得
i + ( xi , yi )
n
n

2 i

[ f ( xi ) yi ]2
++
+ y f (x)
i 1
i 1
达到最小
+
+
+
+
0
最小二乘准则
x
2. 用什么样的曲线拟合已知数据?
(1)画图观察 (2)理论分析 常用的曲线函数系类型:
a J b

10a
10 i1
ti
ti i1
a
b
10
i 1
ln xi
i 1
t
2 i
b

10
i1
0
ln xi
ti
0
即得参数a,b 的值.
% prog41.m %
% This program is to predict the number of population %
数学实验
Experiments in MathemaMticastLhaebmoraattiocrsy
阮小娥博士
在实际问题中,我们常常会遇到下列问题
(1)变量间存在函数关系,但只能给出一离散点 列上的值. 例如,从实验中得到一个数据表, 或是一组观测数据.
(2)变量间的函数关系可以表示,但计算复杂,只 能计算特殊点的函数值. 例如,求指数函数、 对数函数、三角函数、反三角函数值等.
为了研究自变量与因变量间的变化关系,我们需要 建立变量间的函数关系,从而可以计算原始数据以 外需要处的值.
解决这类问题的方法:数据拟合、数据插值
实验13 人口数量预测模型实验
1、学会用MATLAB软件
实验目的 进行数据拟合
2、掌握在最小二乘意 义下数据拟合的理论和 方法.
3、通过对实际问题的 分析和研究,初步掌 握建立数据拟合数学 模型的方法
直线: y a1 x a2
多项式: y a1 xm L am x am1
双曲线(一支):
y

a1 x

a2
指数曲线: y a1ea2x
3 拟合函数组中系数的确定
以f ( x) a1 x a2为例, 即确定a1,a2使得
n
n
J (a1,a2 )

2 i
例2: 海底光缆线长度预测模型









A
x0 0
2
4
6
8
10
12
xi 14
16
x20 18 B 20
施工中,需要在水面宽
2
为20m的河沟底沿直线 4 走向铺设一条沟底光 6
8
缆.在铺设光缆之前需 C 9
hi D
要对沟底的地形做初
步探测,从而估计所需光缆的长度,为工程预算 提供依据.基本情况如图所示.
y = polyval (a, x)
用多项式拟合人口模型
% This program is to predict the model of population by 4-degree polynomial% %prog42.m%
format long
t1=[1790;1800;1810;1820;1830;1840;1850;1860;1870;1880];
t2=[1890;1900;1910;1920;1930;1940;1950;1960;1970;1980];
t=[t1;t2];
P1=[3.9;5.3;7.2;9.6;12.9;17.1;23.2;31.4;38.6;50.2];
P2=[62.9;76.0;92.0;106.5;123.2;131.7;150.7;179.3;204.0;22 6.5];
(百万)
年份 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. 根据预测的人口状况和实际的人口数量,讨论人 口模型的改进情况。
23
a =1.0e+006 * -0.00000000000014 0.00000000107892 -0.00000304878595 0.00381927346813 -1.79012132225427
仿真结果表明, 人口增加的模型用多项式拟合能 比较准确地反映人口自然增长的规律,对长期预 测具有指导意义。
L=L+sqrt((x(i)-x(i-1))^2+(yy(i)-yy(i-1))^2); end disp('The length of the label is L=');disp(L);
假设 r(x) r sx (r, s 0) r~固有增长率(x很小时)
k~人口容量(资源、环境能容纳的最大数量)
r(k) 0
s r k
r( x) r(1 x ) k
dx dt

r(x)x

rx(1
x) xm

x(t)

(k

kx0 x0 )er t

x0
例1的Logistic模型留给同学们练习
五、多项式拟合的Matlab指令
a = polyfit(xdata,ydata,n)
其中n表示多项式的最高阶数
xdata,ydata 为要拟合的数据,它是 用向量的方式输入。
输出参数a为拟合多项式 anx + an+1的系数a = [a1,
y= …,
aa1nx,na+n+…1]。+
多项式在x处的值y可用下面程序计算。
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,'g*--',t2,xx2,'m+-');
a= -49.79535457790735 b=0.02859807120038
探测到一组等分点位置的深度数据如下表所示.
25
21个等分点处的深度
分点 0
1
2
3
4
5
6
7
8Biblioteka Baidu
9
深度 9.01 8.96 7.96 7.96 8.02 9.05 10.13 11.18 12.26 13.28 (m)
10 11 12 13 14 15 16 17 18 19 20
13.32 12.61 11.29 10.22 9.15 7.95 7.95 8.86 9.81 10.80 10.93

[a1 xi a2 ) yi ]2达到最小。
i 1
i 1
为此,只需利用极值的必要条件 J 0(k 1,2)得到关 ak
于 a1 , a2的线性方程组,
n

i 1 n
2[a1 xi

a2 )
yi ]xi

0

i1
2[a1 xi

a2 )
yi ]
P=[P1;P2];
n=4; % The degree of the fitting polynomial%
[a,s]=polyfit(t1,P1,n);
y=polyval(a,t);
% a is the coefficients vector from n-degree to 0-degree%
plot(t,P,'r*--',t,y,'b+-');
1969 806.71 1994 1176.74
(1)在直角坐标系上作出人口数的图象。
(2)建立人口数与年份的函数关系,并估算1999年 的人口数。
y ax b 线性模型
如何确定a,b?
一、曲线拟合
1 曲线拟合问题的提法:
已知一组(二维)数据,即平面上的 n 个点(xi , yi ), i 1,2, L,n, xi 互不相同,寻求一个函数(曲线)y f (x),
拟合曲线 原始数据曲线
仿真结果表明: 人口增加的指 数模型在短期 内基本上能比 较准确地反映 人口自然增长 的规律,但长 期预测误差很 大,需要修正 预测模型。
四、人口预测的Logistic模型
人口增长到一定数量后,增长率下降的原因:
资源、环境等因素对人口增长的阻滞作用
且阻滞作用随人口数量增加而变大 r是x的减函数
7
0
2
4
6
8 10 12 14 16 18 20
The length of the label is L= 26.3809 (m)
% prog45.m This program is to fit the data by polynomial %
format long t=linspace(0,20,21); x=linspace(0,20,100); P=[9.01,8.96,7.96,7.97,8.02,9.05,10.13,11.18,12.26,13.2 8,13.32,12.61,11.29,10.22,9.15,7.90,7.95,8.86,9.81,10.8 0,10.93]; [a,s]=polyfit(t,P,12); yy=polyval(a,x); plot(x,yy,'r*--',t,P,'b+-'); L=0; for i=2:100
解:
设 xt eabt
ln(x) a bt
问题转化为求参数 a,b 使得
10
J (a,b) (a bti ln xi )2
i 1
取得最小值.其中,ti 表示年份,xi xti 表示人口数量。
1 J
10 10
解方程组:
2 1 2
三、人口预测的Malthus模型
英国人口学家Malthus根据百余年的人口统计资 料,于1798年提出了著名的人口自然增长的指数增 长模型。
基本假设 : 人口(相对)增长率 r 是常数
x(t) ~时刻t 的人口, t=0时人口数为x0
dx rx, dt x(0) x0
x(t ) x0ert
指数增长模型
实际中,常用 xt eabt ln xt 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
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
实验问题
据人口统计年鉴,知我国从1949年 至1994年人口数据资料如下: (人 口数单位为:百万)
年份 人口数 年份 人口数
1949 541.67 1974 908.59
1954 1959 602.66 672.09
1979 1984 975.42 1034.75
1964 704.99
1989 1106.76
(1) 预测通过这条河沟所需光缆长度的近似值. (2) 作出铺设沟底光缆的曲线图.
解: 用12次多项式函数拟合光缆走势的曲线图如下
假设所铺设的光缆足够柔软,在铺设过程中光缆触地 走势光滑,紧贴地面,并且忽略水流对光缆的冲击.
14
13
仿真结果表
12
明,拟合曲线
11
能较准确地
10
反映光缆的
9
走势图.
8
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];
x1=[3.9;5.3;7.2;9.6;12.9;17.1;23.2;31.4;38.6;50 .2];
相关文档
最新文档