数模实验第四版数据拟合与模型参数估计

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

数学模型实验—实验报告4

学院:河北大学工商学院专业:电气七班姓名:李青青

学号:2012484098 实验时间:2014/4/15 实验地点:B3-301

一、实验项目:数据拟合与模型参数估计

二、实验目的和要求

a.了解数据拟合的原理和Matlab中的有关命令。

Polfit:MATLAB函数:p=polyfit(x,y,n)

[p,s]= polyfit(x,y,n)

说明:x,y为数据点,n为多项式阶数,返回p为幂次从高到低的多项式系数向量p。x必须是单调的。矩阵s用于生成预测值的误差估计。(见下一函数polyval)

多项式曲线求值函数:polyval( )

调用格式:y=polyval(p,x)

[y,DELTA]=polyval(p,x,s)

说明:y=polyval(p,x)为返回对应自变量x在给定系数P的多项式的值。

[y,DELTA]=polyval(p,x,s) 使用polyfit函数的选项输出s得出误差估计Y DELTA。它假设polyfit函数数据输入的误差是独立正态的,并且方差为常数。则Y DELTA将至少包含50%的预测值。

Polyval

polyval函数的主要功能是多项式的估值运算,其语法格式为y = poly val(p,x),输入变量p是长度为n+1的向量,各元素是依次按降幂排列的多项式的系数,函数返回的是那次多项式p在x处的值,x可以是一个数,也可以是一个矩阵或者一个向量,在后两种情况下,该指令计算的是在X中任意元素处的多项式p的估值。

polyvalm的主要功能是用于matlab中多项式求值。其语法格式为y=polyvalm(a,A),其中a为多项式行向量表示,A为指定矩阵。

Lsqlin

约束线性最小二乘

函数lsqlin

格式x = lsqlin(C,d,A,b) %求在约束条件下,方程Cx = d的最小二乘解x。

x = lsqlin(C,d,A,b,Aeq,beq) %Aeq、beq满足等式约束,若没有不等式约束,则设A=[ ],b=[ ]。

x = lsqlin(C,d,A,b,Aeq,beq,lb,ub) %lb、ub满足,若没有等式约束,则Aeq=[ ],beq=[ ]。

x = lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0) % x0为初始解向量,若x没有界,则lb=[ ],ub=[ ]。

x = lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0,options) % options为指定优化参数

lsqcurvefit

最常见的调用格式如下:

X = LSQCURVEFIT(FUN,X0,XDATA,YDATA).

其中FUN为一个函数,已M文件或匿名函数存在。若FUN以M文件形式存在,那么FUN在调用语句中的格式为:@(x,xdata) FUN(x,xdata,c).@(x,xdata)中分别表示待求参数,xdata表示的是自变量,c是可以传递到函数里面的常数。Lsqnonlin:lsqnonlin解决非线性最小二乘问题,包括非线性数据拟合问题而不是计算的值f(x)(平方和),需要用户定义函数lsqnonlin求向量值函数然后,在矢量的术语,你可以重申这一优化问题

其中x是一个向量和f(x)是一个函数,返回一个向量值。

X = lsqnonlin(乐趣,X0)开始在点X0并找到一个最小的有趣的功能描述的平方和。快乐应该返回一个向量值不值的平方和。(算法隐含和广场的乐趣(X)。)

X = lsqnonlin(乐趣,X0,LB,UB)定义了一组上下对X设计变量的范围,所以,解决方案总是在范围≤x≤UB的LB。

X = lsqnonlin(乐趣,X0,LB,UB,选项)最大限度地减少结构中的优化选项指定的选项。使用optimset设置这些选项。通过空矩阵的LB和UB如果没有界限的存在。

【X,resnorm ] = lsqnonlin(……)返回x的平方范数的剩余价值的总和(意思:(X)。^ 2)。

【X,resnorm,残余] = lsqnonlin(……)返回剩余的娱乐价值观(x)在解x

x = lsqnonneg

x = lsqnonneg(C,D)返回向量x的最小范数(C * XD)受x > = 0。C 和D必须是真实的。

x = lsqnonneg(C,D,x0 X0)使用为出发点,如果所有的X0 > = 0;否则,则使用默认值。默认的出发点是原点(默认是用来当X0 = = []或只有两个输入参数提供)。

x = lsqnonneg(C,D,X0,选项)最大限度地减少在结构优化参数指定的选项。你可以使用optimset函数定义这些参数。lsqnonneg使用这些选项的结构域:

displayLevel显示。”“不显示输出;最后的“仅显示最终的输出;“通知”(默认)显示输出只有当函数不converge.tolxtermination公差对X

【X,resnorm ] = lsqnonneg(……)返回的平方范数的剩余价值:规范(C * XD)^ 2

b. 练习模型参数估计

三、实验内容

根据美国人口从1790年到1990年间的人口数据(如下表),确定人口指数增长模型和Logistic模型中的待定参数,估计出美国2010年的人口,同时

画出拟合效果的图形。 表1 美国人口统计数据

提示:

指数增长模型:rt

e x t x 0

)(=

Logistic 模型:()011m

rt

m x x t x e x -=

⎛⎫

+- ⎪⎝⎭

解:模型一:指数增长模型。Malthus 模型的基本假设下,人口的增长率为常数,记为r ,记时刻t 的人口为 )(t x ,(即)(t x 为模型的状态变量)且初始时

刻的人口为0x ,因为⎪⎩⎪⎨⎧==0

)0(x x rx

dt dx 由假设可知0()rt x t x e = 经拟合得到:

相关文档
最新文档