数学实验七—无约束优化
土木工程系结71 陈浩宇 2007010544
[实验目的]
1. 掌握Matlab 优化工具箱的基本用法,对不同算法进行初步分析、比较。
2. 练习用无约束优化方法建立和求解实际问题的模型(包括非线性最小二乘拟合)
[实验内容]
2.(1)取不同的初值计算下列非线性规划,尽可能求出所有局部极小点,进而找出全局极小点,并对不同算法(搜索方向、搜索步长、数值梯度与分析梯度等)的结果进行分析、比较。
2252121121min ()(1)[1(1)]z x x x x x x =----
图1 函数简图
首先,采用fminsearch 函数的缺省算法对于不同的初值所求出的极值进行分析。采用如下程序进行,计算结果见表1。
通过比较可以得出此函数存在多个极值点,当x1=1,x1=0,x2=0其都为函数的最小值,其最小值为0。即此函数存在三条最小值的等值线。由于函数在x1,x2值较大时会出现剧烈增长,故缩小函数的取值范围,画出函数的大致图像可以更加清楚地表明出等值线的存在(如图2)。并且,近似观察函数的图像,还可发现,函数沿极值线还存在着十分平缓的区域,这对于极值的迭代求出设置了较大的障碍。因为函数迭代中可能会因为梯度函数的差异过小而提前结束迭代求值。
图2 函数极值等值线
根据这一情况,画出函数的梯度简图(如图3),以便进一步对函数的性质探索。
图3 函数梯度图(左图为g1,有图为g2)
根据,函数的梯度图像可以分析,其在x=1附近存在一片梯度差异较小的区域,不利于使用梯度下降法来对于其极值点进行判断。而其存在一个较为明显的分水岭,即大致x1=0.3左右,其梯度函数存在一个明显的高峰,因而,当计算初值取在X1<0.3范围内时其容易跌落至X1=0的极值,而当X1>0.3时其容易跌落到X1=1值,但是,因为X=1附近的缓和梯度区的存在,对于X1>0.3情况很难得到足够的精确极值。故而,初始点的选择对于此函数极值的求取以及所得极值的精度有着较大的影响。
依据以上的梯度分析,选择初始点为x0=(-2.5,-5)采用如下程序进行算法收敛性的比对。同时在计算时考虑到函数的性质不利于极值求解,将误差限人为设高,对比结果见表2。
其中,函数的定义程序如下:
根据表2中的结果可以发现在其他条件相同时,不同的搜索方向可能会引向不同的极值点。无论采用数值梯度或分析梯度,gillmurray算法都会导向X1=1的极值线,而采用BFGS或DFP 算法则会导向X1=0的极值线。
BFGS与DFP算法的差异在此算例中体现的不明显,其迭代次数、最优值、最优解在除了分析梯度、三次插值时都十分的接近甚至相同。但是在分析梯度且三次插值时,DFP算法的精度略微有所下降,即其极值略大于BFGS算法,但是DFP的函数调用次数小于BFGS算法。即分析搜索方向对于求解结果的影响,可以得出在本算例中BFGS与DFP算法的差异不大,而gillmurray算法的收敛速度慢于前两种算法,且其可能将极值引向不同的最优值。
在此算例中,步长的确定方式(二次多项式或三次多项式)对于解收敛的速度影响不是特别明显。在数值梯度时,两种步长确定方式对于解的精度以及收敛速度完全相同。但是在分析梯度情况下,BFGS算法的两种步长确定方式所解出的解差异较大,且其函数迭代次数差异
也较大。三次插值的精度略高与二次或三次多项式插值,但是三次插值的函数调用次数大大高于二次或三次插值。
分析两种梯度算法对于解的精度的影响。毫无疑问地,采用分析梯度算法较数值梯度有着较大的优势。其函数调用次数大大少于数值梯度模式,且计算的精度相近。故而,在可能的情况下应尽量采用分析梯度进行计算。
6.有一组数据(,)(1,,33)i i t y i = ,其中10(1)i t i =-,i y 由表
7.9给出。现要用这组数据拟合函数
54123(,)x t x t f x t x x e x e --=++
中的参数x ,初值可选为(0.5,1.5,-1,0.01,0.02),用GN 和LM 两种方法求解。对i y 作一扰动,即i i y e +,i e 为(-0.05,0.05)内的随机数,观察并分析迭代收敛是否会变慢。
解:采用lsqcurvefit 函数由如下程序进行非线性回归参数求解。
通过程序画出拟合所使用数据与拟合后的函数图象,如图4所示。
图4 拟合后函数与拟合点
而比较两种算法的差异可以得出表3。
表3 两种算法拟合比较
注:LM退出条件为ef=3,GN退出条件为ef=1。
从两种算法的比较中可以得出,其计算的精度基本相同,即所得的拟合参数基本相同,而误差的平方和也基本相同。但是,这两种函数的收敛速度有较大的差异,LM算法的迭代次数与函数调用次数均大大大于GN算法。
使用如下函数,对拟合点y引入随机数,再次采用两种计算方法进行拟合。拟合结果见图5及表4。
图5 引入随机数后拟合图(1)表4 引入随机数后拟合结果(1)
注LM算法的退出条件为ef=3,GN算法的退出条件为ef=1。
在引入了随机数后,函数的误差值norm大大增加。而对于函数的收敛速度,当引入随机数后,LM算法的迭代次数与函数调用次数与引入前相比反而下降了,这是因为其退出条件为ef=3,即r的平方和小于了容忍的误差值(1e-6)。而GN的退出条件为ef=1,故而,其随随机数的引入而出现了收敛速度减慢的情况。由于不同的退出条件,增加随机数后,算法的收敛速度出现了不同的变化情况。
而多次产生不同的随机数,发现在某些随机数影响下,还甚至会发生超出最大调用次数而退出的情况,见图6,表5。
图6引入随机数后拟合图(2)
表5 引入随机数后拟合结果(2)
注LM算法的退出条件为ef=0,GN算法的退出条件为ef=0。
即而随机数对于回归算法的收敛性有较大的影响。当出现了调用次数超出了阈值后,其收敛速度快于出现随机数前。
[实验感想]
1)在本次试验中学会了无约束极值的函数使用,以及不同算法的调试调用。2)对于课程中学习的无约束极值求解方法有了更加深入的理解与掌握。
数学软件与数学实验作业 一.《数学软件》练习题(任选12题,其中19-24题至少选2题): 3.对下列各式进行因式分解. (1). syms x y >> factor(x^5-x^3) (2). syms x y >> factor(x^4-y^4) (3). syms x >> factor(16-x^4) (4). syms x >> factor(x^3-6*x^2+11*x-6) (5). syms x y >> factor((x+y)^2-10*(x+y)+25) (6). syms x y >> factor(x^2/4+x*y+y^2) (7). syms x y a b >> factor(3*a*x+4*b*y+4*a*y+3*b*x) (8). syms x >> factor(x^4+4*x^3-19*x^2-46*x+120) 5.解下列方程或方程组. (1).solve('(y-3)^2-(y+3)^3=9*y*(1-2*y)') (2). solve('3*x^2+5*(2*x+1)') (3). solve('a*b*x^2+(a^4+b^4)*x+a^3*b^3','x') (4). solve('x^2-(2*m+1)*x+m^2+m','x') (5). [x,y]=solve('4*x^2-9*y^2=15','2*x-3*y=15') 6.计算极限. (1). syms x f=(exp(x)-exp(-x))/sin(x); limit(f,x,0) (2) syms x >> f=(x/(x-1)-1/log(x)); >> limit(f,x,1) (3). syms x >> f=(1-cos(x))/x^2; >> limit(f,x,0)
数学实验: 概率统计F实验 一,实验目的: 运用数学软件解决概率统计问题 二,实验工具: WPS软件, SPSSS软件 三,实验要求: 1、写出相应软件命令及具体操作截图。 2、给出结果的截图并给出相应统计结论。 3、以实验报告的形式上交,实验报告的格式自己设计。 1、已知某地某品种10头成年母水牛的体高(cm)为:137,133,130,128,127,119,136,132,128,130。求出均值、标准差、极差、中位数、变异系数及95%置信区间。(30分)
2、某食品企业厂生产瓶装矿泉水,其自动装罐机在正常工作状态时每罐净容量(单位为ml)具正态分布,且均值为500。某日随机抽查了10瓶水,得结果如下:505,512,497,493,508,515,502,495,490,510,问罐装机该日工作是否正常?(30分) 3、分别测定了10只大耳白家兔、11只青紫蓝家兔在停食18小时后正常血糖值如下表,已知其服从正态分布,问该两个品种家兔的正常血糖值是否有显著差异?(单位:kg)(40分) 大耳白57 120 101 137 119 117 104 73 53 68 青紫蓝89 36 82 50 39 32 57 82 96 31 88 四,实验内容: 1、已知某地某品种10头成年母水牛的体高(cm)为:137,133,130,128,127,119,136,132,128,130。求出均值、标准差、极差、中位数、变异系数及95%置信区间。 使用软件: WPS软件 (1)数据输入: (2)计算均值: =AVERAGE(A2,A3,A4,A5,A6,A7,A8,A9,A10,A11)放入C2 (3)计算标准差:=STDEV(A2,A3,A4,A5,A6,A7,A8,A9,A10,A11)放入D2 (4)计算极差:=MAX(A2:A11)-MIN(A2:A11)放入E2 (5)计算中位数:=MEDIAN(A2,A3,A4,A5,A6,A7,A8,A9,A10,A11) F2 (6)计算变异系数:=D2/C2 G2 (7)自由度: 9 H2 (8)自信度:0.95 J2 (9)计算t分布双侧分位数:=TINV(0.05,9) I2 (10)抽样平均误差:=D2/SQRT(10) K2 (11)允许误差:=I2*K2 L2 (12)自信下限:=C2-L2 H5 (13)自信上限:=C2+L2 I5 实验结果:
实验七用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];
练习2﹒1 画出下列常见曲线的图形(其中a=1,b=2,c=3)。 1. 立方抛物线y = 解: x=-4:0.1:4; y=x.^(1/3); plot(x,y) -4 -3-2-101234 0.20.40.60.811.21.4 1.6 2.高斯曲线2 x y e -= 解: fplot('exp(-x^2)',[-4,4])
-4 -3 -2 -1 1 2 3 4 00.10.20.30.40.50.60.70.80.9 1 3、笛卡儿曲线23 3 2 2 33,(3)11at at x y x y axy t t = = +=++ 解:ezplot('x^3+y^3-3*x*y',[-4,4])
-4 -3-2-1 01234 -4-3-2-10123 4x y x 3+y 3-3 x y = 0 或:t=-4:0.1:4; x=3*t./(1+t.^2); y=3*t.^2./(1+t.^2); plot(x,y)
-1.5 -1-0.500.51 1.5 00.5 1 1.5 2 2.5 3 4、蔓叶线233 2 2 2 ,()11at at x x y y t t a x = = = ++- 解:t=-4:0.1:4; x=t.^2./(1+t.^2); y=t.^3,/(1+t.^2); y=t.^3./(1+t.^2); plot(x,y)
00.10.20.30.40.50.60.70.80.91 -4 -3-2-10123 4 或: ezplot('y .^2-x.^3/(1-x)',[-4,4])
数学实验的心得体会 实验是对于知识更深一层的解剖,下面是小编为大家整理关于数学实验的心得体会,欢迎大家阅读! 数学实验的心得体会(一) 一直以来都觉得数学是门无用之学。给我的感觉就是好晕,好复杂!选修了大学数学这门课,网上也查阅了一些有趣的数学题目,突然间觉得我们的生活中数学无处不在。与我们的学习,生活息息相关。 不得不说,数学是十分有趣的。可以说,这是死中带活的智力游戏。数学有它一定的规律性,就象自然规律一样,你永远也无法改变。但就是这样,它就越困难,越有挑战性。 数学无边无际深奥,更是能让人着迷的遨游在学海的快乐中。数学是很深奥,但它也不是我们可望不可及的。它更拥有自己的独特意义。学习数学的意义为了更好的生活,初中数学吧;为了进入工科领域工作,高中数学吧;为了谋求数学专业领域的发展,大学数学吧数学是什么是什么什么学科,公认的!我觉得是一们艺术,就象有黄金分割才美!几何图形如此精致!规律循环何等奇妙! 在网上看到一个很有趣的题目:有一个刚从大学毕业的年轻人去找工作。为了能够胜任这第一份工作,他也自作聪明地象老板提出了一个特殊的要求。“我刚进入社会,现在只是想好锻炼自己,所以你就不必付我太多钱。我先干7天。第一天,你付我5角钱;第二天就付我前一天的平方倍工钱,
之后依次类推。”老板一口答应了。可到了最后一天领工资的时候,这个年轻人却只领到了寥寥几块钱。年轻人很不解,老板却说自己已经很不错了,多付了他好几百天的工钱。你知道为什么吗?起初看到我是一头雾水,后面就明白了:元的平方是元,元的平方是元......也就是说这么一直算下去,年轻人的工钱是一天比一天少的。自然,赚几元钱就得好多天了。但是如果年轻人第一天要的工钱大于1元钱,那么7天的工钱可就多得多了。我们不得不说这个老板是聪明的,员工的马虎的。这么简单的知识也会运用错误,导致自己吃了哑巴亏还没办法挽回。这么一个简单的例子事实上就已经说明数学就在我们的身边。 其实数学就是在我们的身边,之所以没有发现它的存在,我想有时候可能还是因为它的存在及运用实在太多。 数学讲究的是逻辑和准确的判断。在一般人看来,数学又是一门枯燥无味的学科,因而很多人视其为求学路上的拦路虎,可以说这是由于我们的数学教科书讲述的往往是一些僵化的、一成不变的数学内容,如果在数学教学中渗透数学史内容而让数学活起来,这样便可以激发学生的学习兴趣,也有助于学生对数学方法和原理的理解认识的深化。数学不是迷宫,它更多时候是象人生曲折的路:坎坷越多,困难越多,那么之后的收获就一定越大! 数学实验的心得体会(二) 数学,在整个人类生命进
数学实验报告实验题目:赛车车道路况分析问题 小组成员: 填写日期2012 年 4 月20 日
一.问题概述 赛车道路况分析问题 现要举行一场山地自行车赛,为了了解环行赛道的路况,现对一选手比赛情况进行监测,该选手从A地出发向东到B,再经C、D回到A地(如下图)。现从选手出发开始计时,每隔15min观测其位置,所得相应各点坐标如下表(假设其体力是均衡分配的): 由D→C→B各点的位置坐标(单位:km) 假设:1. 车道几乎是在平原上,但有三种路况(根据平均速度v(km/h)大致区分): 平整沙土路(v>30)、坑洼碎石路(10 2.估计车道的长度和所围区域的面积; 3.分析车道上相关路段的路面状况(用不同颜色或不同线型标记出来); 4.对参加比赛选手提出合理建议. 二.问题分析 1.模拟比赛车道的曲线:因为赛道散点分布不规则,我们需要用光滑曲线来近 似模拟赛道。由于数据点较多,为了避免龙格现象,应采用三次样条插值法来对曲线进行模拟(spline命令)。全程曲线为环路,我们需要对上下两部分分别 模拟,设模拟出的曲线为P:。 2.把A到B点的曲线分成若干小段: 赛道的路程L:取dL=,对模拟出的整条曲线求线积分,即 所围区域的面积:用上下部分曲线的差值对求定积分,即 3.用样条插值法模拟出比赛车道曲线后,根据曲线分别计算出原数据中每两点 ()间的路程,即求线积分 由于每两点间时间间隔相同且已知(15min),故可求出每段路程的平均速度 易知即为的积分中值 将此速度近似作为两点间中点时刻的速度,然后再次采用样条插值法,模拟出全过程的图像。而根据求出的与之间的关系,再次采用样条插值法,即可模拟出全过程的图像 4. 由赛道曲线可求出赛道上任一点到点的路程 同时图像也可以求出赛道上任一点到点的路程 1.(1) [1 2 3 4;0 2 -1 1;1 -1 2 5;]+(1/2).*([2 1 4 10;0 -1 2 0;0 2 3 -2]) 2. A=[3 0 1;-1 2 1;3 4 2],B=[1 0 2;-1 1 1;2 1 1] X=(B+2*A)/2 3. A=[-4 -2 0 2 4;-3 -1 1 3 5] abs(A)>3 % 4. A=[-2 3 2 4;1 -2 3 2;3 2 3 4;0 4 -2 5] det(A),eig(A),rank(A),inv(A) 求计算机高手用matlab解决。 >> A=[-2,3,2,4;1,-2,3,2;3,2,3,4;0,4,-2,5] 求|A| >> abs(A) ans = ( 2 3 2 4 1 2 3 2 3 2 3 4 0 4 2 5 求r(A) >> rank(A) ans = 4 求A-1 《 >> A-1 ans = -3 2 1 3 0 -3 2 1 2 1 2 3 -1 3 -3 4 求特征值、特征向量 >> [V,D]=eig(A) %返回矩阵A的特征值矩阵D 与特征向量矩阵V , V = - + + - - + - + - + - + D = { + 0 0 0 0 - 0 0 0 0 + 0 0 0 0 - 将A的第2行与第3列联成一行赋给b >> b=[A(2,:),A(:,3)'] b = 《 1 - 2 3 2 2 3 3 -2数学实验答案-1