2matlab大作业

发布 2022-09-10 09:25:28 阅读 5715

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...