Matlab的实际应用设计(经典)

2019-08-30 14:01

课 程 设 计

学院: 数学学院

学号: 20106496

姓名: 黄星奕

辅导老师: 陈晓红 殷明

题目 一 具体题目 实验一

1.1 1.2 1.3 二 2.1 2.3 三 3.1 3.2 3.3 四 4.1 4.2 4.3 五 5.1 5.2 5.3 六 6.1 6.2 七 7.4 7.5 八 8.1 8.4 总 20题 1.1 水手、猴子和椰子问题 一、 问题描述

1.1 水手、猴子和椰子问题:五个水手带了一只猴子来到南太平洋的一个荒岛上,发现那里有一大堆椰子。由于旅途的颠簸,大家都很疲惫,很快就入睡了。第一个水手醒来后,把椰子平分成五堆,将多余的一只给了猴子,他私藏了一堆后便又去睡了。第二、第三、第四、第五个水手也陆续起来,和第一个水手一样,把椰子分成五堆,恰多一只猴子,私藏一堆,再去入睡,天亮以后,大家把余下的椰子重新等分成五堆,每人分一堆,正好余一只再给猴子,试问原先共有几只椰子? 二、思考与实验

试分析椰子数目的变化规律,利用逆向递推的方法求解这一问题。 三、 问题分析

用递推算法。首先分析椰子数目的变化规律,设最初的椰子数为p 0,即第一个水手所处理之前的椰子数,用p 1、p 2、p 3、p4、p 5 分别表示五个水手对椰子动了手脚以后剩余的椰子数目,则根据问题有

再用x表示最后每个水手平分得到的椰子数,于是有

所以

p5 = 5x +1

利用逆向递推的方法,有

但由于椰子数为一正整数,用任意的x作为初值递推出的p0数据不一定是合适的。 在实验中可以用 for 循环语句结合 break 语句来寻找合适的 x 和 p0 ,对任意的 x 递推计算出 p0 ,当计算结果为正整数时,结果正确,否则选取另外的 x 再次重新递推计算,直到计算出的结果 p0 为正整数为止。

四、源程序

n=input('input n:'); for x=1:n p=5*x+1; for k=1:5

p=5*p/4+1; end

if p==fix(p) break; end end

disp([x,p]);

五、实验结果

六、结果分析

从理论上分析,由于

所以

要使得最初的椰子数p0为整数,必须取 (x +1) 为 4 5( =1024)的倍数,一种简单的处理可取 x = 1023。

xndx 1.2 In??05?x1一、问题描述

xndx 1.2 设,In??05?x1(1)从I0尽可能精确的近似值出发,利用递推公式:

1In??5In?1?(n?1,2,n计算机从I1到I20的近似值;

(2)从I30较粗糙的估计值出发,用递推公式:

20)

11In?1??In?(n?30,29,55n计算从I1到I20的近似值;

,3,2)

(3)分析所得结果的可靠性以及出现这种现象的原因。

二、问题分析

有种方法可以尽可能地精确的计算I0的值,我们可以根据积分计算得I0=ln 1.2=0.1823,然后可以编程求解I1到I20的近似值。 三、源程序及运行结果 (1) fun=inline('1./(5+x)','x') z=quad(fun,0,1) for n=1:20 z=-5*z+1/n end

z =0.0188 z =0.0169 z =0.0155 z =0.0135

z =0.0156 z =-0.0011 z =0.0770 z =-0.3186 z =1.6554 z =-8.2179 z =41.1453 z =-205.6737

z =1.0284e+003(省略前7项)

(2)fun=inline('(x.^30)./(5+x)','x') z=quad(fun,0,1) for n=30:-1:2 z=-0.2*z+1/(5*n) end

z =0.0130 z =0.0141 z =0.0154 z =0.0169 四、结果分析

z =0.0188 z =0.0212 z =0.0243 z =0.0285 z =0.0343 z =0.0431 z =0.0580 z =0.0884

(限于篇幅省略前18项)

第二种算法较为可靠,原因是迭代时系数较小,第一种方法虽然I0较精确,但 后面的迭代系数绝对值为5,将误差逐步放大,所以最后结果反而不精确了。 1.3 绘制Koch分形曲线

一、问题描述

1.3 绘制Koch分形曲线:从一条直线段开始,将线段中间的三分之一部分用一个等边三角形的另两条边代替,形成具有5个结点的新的图形(图1);在新的图形中,又将图中每一直线段中间的三分之一部分都用一个等边三角形的另两条边代替,再次形成新的图形(图2),这时,图形中共有17个结点。这种迭代继续进行下去可以形成Koch分形曲线。在迭代过程中,图形中的结点将越来越多,而曲线最终显示细节的多少取决于所进行的迭代次数和显示系统的分辨率。Koch分形曲线的绘制与算法设计和计算机实现相关。

二、思考与实验:

(1)考虑在Koch分形曲线的形成过程中结点数目的变化规律。设第k次迭代产生结点数为nk,第k?1迭代产生结点数为nk?1,试写出nk和nk?1之间的递推关系式; (2)参考问题分析中的算法,考虑图1到图2的过程,即由第一次迭代的5个结点的结点坐标数组,产生第二次迭代的17个结点的结点坐标数组的算法;

(3)考虑由第k次迭代的nk个结点的结点坐标数组,产生第k?1次迭代的nk?1个结点的结点坐标数组的算法;

(4)设计算法用计算机绘制出如下的Koch分形曲线(图3)。

图 1 图 2


Matlab的实际应用设计(经典).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:语文教学论试题含答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: