数学实验七 -

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

实验七用MATLAB解无约束优化

【实验目的】

1.掌握MATLAB优化工具箱的基本用法,对不同的算法进行初步分析、比较。2.练习用无约束化方法建立和求解实际问题的模型(包括最小二乘拟合)。【实验内容】

第四题:

某海岛上有12个主要的居民点,每个居民点的位置(用平面坐标x,y表示,距离单位:km)和居住的人数(R)如下表所示。现在准备在海岛上建一个服务中心为居民提供各种服务,那么服务中心应该建在何处?

【模型建立与求解】

设服务中心的坐标为(x,y),所有居民到服务中心的距离之和为z,则有:Z=[R k∗ k=1~12;

本题就是求zmin,,这是一个无约束极小值的问题。

用MATLAB求解如下,首先建立exam0701.m源文件:

function z=exam0701(x,x0,y0,R)

z=0;

for i=1:12

z=z+R(i)*sqrt((x(1)-x0(i))^2+(x(2)-y0(i))^2);

end

主程序为:

X=[0, 8.2, 0.5, 5.7, 0.77, 2.87, 4.43, 2.58, 0.72, 9.76, 3.19, 5.55];

x=[0, 8.2, 0.5, 5.7, 0.77, 2.87, 4.43, 2.58, 0.72, 9.76, 3.19, 5.55];

y=[0, 0.5, 4.9, 5.0, 6.49, 8.76, 3.26, 9.32, 9.96, 3.16, 7.2, 7.88];

R=[600, 1000, 800, 1400, 1200, 700, 600, 800, 1000, 1200, 1000, 1100];

[x,fv,norm]=fminunc(@exam0701,[0,0],[],x,y,R)

输出结果为:

x =

3.601032422029356 6.514218493501284

fv =

4.423603549137507e+004

norm =

1

所以服务中心的坐标应为(3.6010,6.5142),此时,所有居民到服务中心的距离之和最小,最小值为4.4236e+004。所以服务中心应该建在(3.6010,6.5142)处。

第七题:

经济学中著名的Cobb-Douglas生产函数的一般形式为:

Q K,L=aKαLβ,0<α,β<1

其中,Q,K,L分别表示产值、资金、劳动力,式中α,β,a要由经济统计数据确定.现有《中国统计年鉴(2003 )》给出的统计数据如表,请分别用线性和非线性最小二乘法拟合式中的α,β,a,并解释α,β,a的含义。

表7.11

其中总产值取自“国内生产总值”,资金取自“固定资产投资”,劳动力取自“就业人员”)。

【模型建立与求解】

一.用线性最小二乘拟合求α,β,a的值。

由已知函数Q K,L=aKαLβ,为了得线性函数,我们在等式两端取对数。

于是有:logQ=αlogK+βlogL+loga

令:y=logQ , m=logK ,n=logL ,p=loga 得到:

y=αm+βn+p

现在我们要建立直线拟合模型求解α,β,a的值。与拟合函数比较

φ0=m ,φ1=n ,φ2=1

输入q、k、l的值,用matlab求解:

y=log(q);

m=log(k); n=log(l);

f=[m,n,ones(19,1)];

aa=inv(f'*f)*f'*y

aa =

0.659979317104676

1.268049810875644

-1.156358672651989

a=f\y

a =

0.659979317104729

1.268049810875208

-1.156358672651102

z=aa-a

z =

1.0e-012 *

-0.053068660577082

0.435873559467836

-0.886846152070575exp(a(3))

ans =

0.314629767509592

所以:α=0.6600 , β=1.2680 , a=0.3146

二.用非线性最小二乘拟合求α,β,a的值。

建立exam0703的M文件:

function f=exam0703(x,k,l,q0)

for i=1:19

f=x(3)*k(i)^(x(1))*l(i)^(x(2))-q0;

end

end

主程序为:

k =[0.0910 0.2543 0.3121 0.3792 0.4754 0.4410

0.4517 0.5595 0.8080 1.3072 1.7042 2.0019

2.2914 2.4941 2.8406 2.9854

3.2918 3.7314

4.3500]

l =[4.8179 4.9873 5.1282 5.2783 5.4334 5.5329

6.4749 6.5491 6.6152 6.6808 6.7455 6.8065

6.8965 6.9820

7.0637 7.1394 7.2085 7.3025 7.3740] q0 =[0.7171 0.8964 1.0202 1.1962 1.4928 1.6909

1.8548

2.1618 2.6638

3.4634

4.6759

5.8478

6.7885

7.4463 7.8345

8.2068

9.9468 9.7315 10.4791] x0=[0.5,0.5,0.5];

[x,norm,res]= lsqnonlin(@exam0703,x0,[],[],[],k,l,q0)

输出结果为:

x =

0.5104 1.0757 0.2553

norm =

217.2158

res =

Columns 1 through 12

3.9205 3.7412 3.6174 3.4414 3.1448 2.9467

2.7828 2.4758 1.9738 1.1742 -0.0383 -1.2102

Columns 13 through 19

-2.1509 -2.8087 -3.1969 -3.5692 -5.3092 -5.0939

-5.8415

所以:α=0.5104 , β=1.0757 , a=0.2553

α、β的解释:

α是劳动力产出的弹性系数,β是资本产出的弹性系数,从这个模型看出,决定工业系统发展水平的主要因素是投入的劳动力数、固定资产和综合技术水平(包括经营管理水平、劳动力素质、引进先进技术等).根据α和β的组合情况,它有三种类型:①α+β >1称为递增报酬型,表明按现有技术用扩大生产规模来增加产出是有利的.②α+β <1称为递减报酬型,表明按现有技术用扩大生产

相关文档
最新文档