2015-2016-2学期《matlab语言》大作业题目。
一、(本题40分)请利用matlab语言,实现如下的人鬼输运游戏程序:
游戏本质:把人和鬼都送到对岸,任何一边鬼都不能比人多,否则鬼吃人,游戏结束。
要求:(1)模仿上面的界面,利用matlab设计一个程序,完成游戏;
(2)程序能够记录下参赛选手的操作流程,即每次输运的对象(人或鬼)、是否成功、输运次数、完成时间,分别以文本文件和execl文件形式保存游戏过程(复盘);
(3)图中的动画效果尽量逼真。
二、(本题40分)请你利用matlab语言编写一个程序,实现对称正定矩阵方程组的最速下降法。
1、知识基础。
考虑线性代数方程组。
的求解问题,其中是给定的阶对称正定矩阵,是给定的维向量,是待求的维向量。
我们定义二次泛函。
有如下性质:
1)对一切,有的一阶导数,即梯度。证明:
2)对一切,有。
3)设为(1.1)的解,则。
4)对一切,有。
定理1:设对称正定,则为(1.1)的解的充要条件是:是的极小值点。即。
证明:必要性,设,由的正定性及性质(4)得。
所以即使达到最小。
充分性,若是的极小值点,因为的hessian阵为(即存在唯一极小值点),所以是的最小值点,则有。
这表明,求解方程组(1.1)与求二次泛函的极小值点是等价的。早期,人们总是先把求的极小值点问题转化为求解方程组(1.
1)的问题,然后通过解(1.1)来求得的极小值点。而这里,我们将把这个过程反过来,即把求解方程组(1.
1)的问题转化为求泛函的极小值点问题,然后通过求的极小值点而求得方程组(1.1)的解。这就是求解方程组(1.
1)的变分方法。
2、通常的做法。
求二次泛函的一般方法是:构造一个向量序列,使。
通常采用如下的迭代方法进行求解。
1)任取一个初始向量,2)构造迭代格式。
称为搜索方向,为搜索步长。
3)逐步选择和,使得。
当时,有。4)给出误差线,直到。
或。终止迭代,取为满足精度的数值解。这里的。
5)对迭代格式。
关键的问题是如何确定搜索方向和搜索步长。
假定搜索方向已经确定,需要确定搜索步长,使得从第步到第步是最优的,即。
这称为沿方向的一维极小搜索,此时在方向上达到局部极小。
对确定的搜索方向,构造一个关于的函数,即。
令(或根据抛物线的性质),由。
所以,得最优步长。
取,即是在方向上,使达到局部极小的点,3、最速下降法。
求的极小值点的最简单的方法就是最速下降法,即从初值点出发,选择“最快的速度”下降到的极小值。假设已计算出,由于在点的梯度方向是函数值增加最快的方向,所以选择负梯度方向为搜索方向:就是使局部下降最快的方向。
因此,称为最速下降法。
其迭代公式为:
1)选取。2)对。
当时,终止迭代。
定理2 设的特征值满足。则由迭代法(1.7)产生的点列满足。
其中。这个定理说明,矩阵的最大、最小特征值差距很大的时候,最速下降法收敛比较慢。
编程要求:(1)编写一个通用函数程序,即的阶数不固定;
2)程序能够判定是否是对称正定矩阵,计算出矩阵的特征值;
3)输出迭代过程每个搜索步长和搜索向量,保存到文本文件中;
4)对于2阶矩阵,能够绘制出搜索向量的几何表示,即绘图如下:
clear;x=-18:0.5:18; y=x
x=ones(size(y))*x;
y=y*ones(size(x
z=0.5*(x.^2+6*y.^2+4*x.*y)-(4*x+10*y
meshc(z);
colormap(hot
xlabel('x'),ylabel('y'),zlabel('z')
三、(本题20分)众所周知,定积分的理论基础是通过分割、近似、求和、取极限的过程来实现的,请你利用matlab实现可视化的近似效果,程序结果如下图所示:
要求:(1)设计界面,能够识别输入的函数;
(2)设计界面,能够输入上下限和分割个数;
(3)分别采用左端点的函数值、中点函数值、右端点函数值计算积分的近似,并在界面上保留计算结果。
(4)要求界面设计简洁,美观。
实验作业2MATLAB作图
精品文档。1 用plot,fplot绘制函数y cos tan x 的图形。解 如下 x linspace 0.5,0.5,30 y cos tan pi x plot x,y 结果 fplot cos tan pi x 0.5,0.5 精品文档。结果 注意事项 fplot cos tan pi x...
matlab大作业
matlab语言及应用。周一晚作业廖育州07010559 第一组程序。绘制选用潍柴发动机wd615.50时汽车行驶性能曲线图,ft ua图clear,clc 清除内存变量,清屏 n为发动机的转速。n 1000,1100,1200,1300,1400,1500,1600,1700,1800,1900,...
MATLAB大作业
实验七图像的形态 算。一 实验目的。1.掌握图像的奇异值分解与合成。2.能够利用模板操作实现图像的腐蚀运算3.能够利用模板操作实现图像的膨胀运算4.掌握图像的开 闭运算。二 实验内容。1.读下面的程序,分析该程序要完成什么样的功能。a 1 2 1 2 3 2 1 2 1 u d v svd a nx...