题目:p200. 2);6)
日期:2003-4-9
实验目的】:
1、 掌握matlab优化工具箱的基本用法,对不同算法进行初步分析、比较。
2、 练习实际问题的非线性最小二乘拟合。
实验内容】:
二:求解,初值(-1,1),对不同算法的结果进行分析、比较。
模型分析】:
首先画出函数f=的图像和等高线:
可以看到:在[0.5,-1]附近为一个“凹地”,最小值应在该凹地中取得。
另外,从(-1,1)到此凹地为一与rosenbrock函数类似的狭长通道,不利于沿负梯度方向下降。可以想象,该函数具有与rosenbrock函数类似的性质。
matlab 源程序】
比较程序如下:
数学实验作业二。1-d
function f=ch72fun(x);
第7章第2题的函数。
f=exp(x(1)).4*x(1).^2+2*x(2).^2+4*x(1).*x(2)+2.*x(2)+1);
第7章第2题。
x0=[-1,1];
赋初值。bfgs,混合二三次插值。
opt1=optimset('tolx',1e-6,'tolfun',1e-6,'maxiter',1000);
x1,fval,exitflag,output]=fminunc(@ch72fun,x0,opt1)
bfgs,三次插值。
opt2=optimset(opt1,'linesearchtype','cubicpoly');
x1,fval,exitflag,output]=fminunc(@ch72fun,x0,opt2)
dfp,混合二三次插值。
opt3=optimset(opt1,'hessupdate','dfp');
x1,fval,exitflag,output]=fminunc(@ch72fun,x0,opt3)
dfp,三次插值。
opt4=optimset(opt3,'linesearchtype','cubicpoly');
x1,fval,exitflag,output]=fminunc(@ch72fun,x0,opt4)
最速下降,混合二三次插值。
opt5=optimset(opt1,'hessupdate','steepdesc');
x1,fval,exitflag,output]=fminunc(@ch72fun,x0,opt5)
matlab 运行结果】:
结果为:所以可以得到本题的解析解:x=(0.5,-1),f=0。
结果分析】:
观察上面的运算结果可以看出:bfgs和混合二三次插值(matlab默认值)的性能是最好的,其精度较高,迭代次数少;dfp和三次插值的精度最高,但是其迭代次数相对较多。dfp和混合二三次插值的迭代次数最少,但是其精度是最低的。
另外最速下降法也能得出结果,而不是像rosenbrock函数那样不收敛。
六:《中国统计年鉴(1995)》给出下表的数据,试据此拟合生产函数中的参数。如何看待用最小二乘法和非线性最小二乘法拟合的结果。
第一问:模型建立:
本题考虑用非线性拟合最小二乘拟合方法,来求解生产函数的未知系数。生产函数为以系数为三个变量,列写函数再运用leastsq程序,设立初值,即可求出三个系数的数值解。
模型求解:用matlab作非线性最小二乘拟合,编程语句如下:
ch7.6-(1)
function f=pp1(c)
q=[0.7171,0.8964,1.
0202,1.1962,1.4928,1.
6909,1.8531,2.1618,2.
6635,3.4515,4.5006];
q1=q/q(6); 以2023年总产值为基准。
k=[0.2469,0.3386,0.
3846,0.4322,0.5495,0.
6095,0.6444,0.7517,0.
9636,1.4998,1.8944];
k1=k/k(6); 以2023年资金为基准。
l=[4.8179,4.9873,5.
1282,5.2783,5.4334,5.
5329,5.6740,5.8360,5.
9432,6.0220,6.1470];
l1=l/l(6); 以2023年为劳动力基准。
f=q1-c(1).*k1.^c(2).*l1.^c(3);
c0=[0.5,0,1];
c=leastsq('pp1',c0)
运行程序可以得到:
c = 0.9858 0.6300 2.4290
结论:生产函数为。
其中=0.9858 =0.6300 =2.4290
第二问:模型建立:
本题考虑用线性拟合最小二乘拟合方法,来求解生产函数的未知系数。对原式两边取对数,即可将非线性函数变化为线性函数,为变量,为所求系数。解超定方程组:
其中均为列向量。
即可得到所求三个系数的值。
模型求解:用matlab作线性最小二乘拟合,编程语句如下:
ch7.6-(2)
q=[0.7171,0.8964,1.
0202,1.1962,1.4928,1.
6909,1.8531,2.1618,2.
6635,3.4515,4.5006];
q1=log(q/q(6));以2023年总产值为基准。
k=[0.2469,0.3386,0.
3846,0.4322,0.5495,0.
6095,0.6444,0.7517,0.
9636,1.4998,1.8944];
k1=log(k/k(6));以2023年资金为基准。
l=[4.8179,4.9873,5.
1282,5.2783,5.4334,5.
5329,5.6740,5.8360,5.
9432,6.0220,6.1470];
l1=log(l/l(6));以2023年为劳动力基准。
m=[1,1,1,1,1,1,1,1,1,1,1];
a=[m',k1',l1'];
b=q1';
c=a\b;
c=[exp(c(1)),c(2),c(3)]
运行程序可以得到:
c = 0.9906 0.6208 2.3728
结论:生产函数为。
其中=0.9906 =0.6208 =2.3728
结果分析:本题中,线性拟合和非线性拟合两种计算方法的结果相差不大。但是,在有些情况下,二者的差距将会较大,如书上182页例题。
非线性拟合是将数据直接代入求解;而线性拟合在拟合前要取一次对数。所以非线性拟合的结果应该更精确一些。
下面给出题目中两个参数的经济学意义:
式分别对k,l求偏导数qk,ql,可以得到:
可见,它表示是资本增加一个单位产值增长的相对值, 是劳动力增加一个单位产值增长的相对值。分别称他们为产值对资本和劳动力的弹性系数。
数学实验作业
学院 理学院。班级 统计11 1 姓名 吴。学号 201111051026 实验1一 问题的提出。已知方程组,其中,定义为。通过迭代法求解方程组。1 选取不同的初始向量,和不同的方程组右端向量,给定迭代误差要求,用雅克比和高斯赛德尔迭代法计算,观察得到的迭代向量序列是否收敛?2 取定右端向量和初始向...
数学实验作业
练习5.3 1.设x u 1,11 求该均匀分布的均值与方差。解 输入命令 m,v unifstat 1,11 结果为 m 6,v 8.3333 所以所求均匀分布的均值和方差分别为 6,8.3333。2 设x n 0,16 求该正态分布的均值 标准差和方差。解 输入命令 m,v normstat 0...
数学实验作业
撰写人姓名 陈金伟撰写时间 2010 11 审查人姓名 实验全过程记录。一 实验目的。1 掌握利用matlab处理简单的概率问题 2 掌握利用matlab处理简单的数理统计问题。二 实验内容 1 熟练掌握几种常用的离散型 连续型随机变量的函数命令 2 熟练掌握常用的描述样本数据特征的函数命令 如最值...