预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共20页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

数 值课 分程 析设 计 专业班级:信息与计算科学09-1班 姓名:陈育伟 学号:20096361 实验一 1.1水手、猴子和椰子问题:五个水手带了一只猴子来到南太平洋的一个荒岛上,发现那里有一大堆椰子。由于旅途的颠簸,大家都很疲惫,很快就入睡了。第一个水手醒来后,把椰子平分成五堆,将多余的一只给了猴子,他私藏了一堆后便又去睡了。第二、第三、第四、第五个水手也陆续起来,和第一个水手一样,把椰子分成五堆,恰多一只猴子,私藏一堆,再去入睡,天亮以后,大家把余下的椰子重新等分成五堆,每人分一堆,正好余一只再给猴子,试问原先共有几只椰子? 试分析椰子数目的变化规律,利用逆向递推的方法求解这一问题(15621)。 【问题分析】 首先分析问题的解答方法,应该采用逆推的方式解决问题。每个水手起来的椰子数量等于前一个水手醒来时椰子数量少一的五分之四。最后每个水手得到的椰子数量会等于最后一堆椰子少一的五分之一。根据这个逆推,由于椰子的数量是整数,所以利用循环语句知道整数的解答为止。 【程序实现】 n=input(’inputn:’); forx=1:n p=5*x+1; fork=1:5 p=5*p/4+1; end ifp==fix(p),break,end end disp([x,p]) 运行这段程序后,屏幕出现要求从键盘输入x数据的信息inputn,输入1200后,MATLAB计算出合适的x和p0的值为 102315621 【结果分析】 要使得最初的椰子数p0为整数,必须取(x+1)为45(=1024)的倍数,一种简单的处理可取x=1023。 1.2设, (1)从尽可能精确的近似值出发,利用递推公式: 计算机从到的近似值; (2)从较粗糙的估计值出发,用递推公式: 计算从到的近似值; (3)分析所得结果的可靠性以及出现这种现象的原因 【算法分析】 >>symsxn; >>int(1/(x+5),0,1) >>ans log(2)+log(3)-log(5) eval(ans) ans= 0.1823 NowweusetocomputeInwherenrangfrom1to20. s=0.1823 forn=1:20 s=-5*s+1/n; disp(s) end s= 0.1823 0.0885 0.0575 0.0458 0.0208 0.0958 -0.3125 1.7054 -8.4018 42.1200 -210.5002 1.0526e+003 -5.2629e+003 2.6314e+004 -1.3157e+005 6.5786e+005 -3.2893e+006 1.6447e+007 -8.2233e+007 4.1116e+008 -2.0558e+009 (2)首先计算I(30)的近似值 >>symsxn; >>int(x^30/(x+5),0,1) <<//所得结果为 ans= 931322574615478515625*log(2)+931322574615478515625*log(3)-931322574615478515625*log(5)-79095966183067699902965545527073/465817912560 >>eval(ans) 0 //即I(30)≈0 s=0; forn=30:-1:2 s=-s/5+1/5*n; disp(s) end s= 0 6 4.6000 4.6800 4.4640 4.3072 4.1386 3.9723 3.8055 3.6389 3.4722 3.3056 3.1389 2.9722 2.8056 2.6389 2.4722 2.3056 2.1389 1.9722 1.8056 1.6389 1.4722 1.3056 1.1389 0.9722 0.8056 0.6389 0.4722 0.3056 【结果分析】 第一小题当中首先算出较为精确的I0,之后经过代入的方法计算出I(20),结果是比较准确的。但是第二小题当中先是算出必是很精确的I(30),本来所得误差比第一步就稍微大一点了,然后再用这个误差稍微大的I(30)回代计算I(20)——I(1),而从I(30)算到I(20)的时候误差这时已经够大了,采用这个误差更大的结果去计算我们想要的值,当然误差大得惊人啦,显然比第一种误差大得多。所以我们使用第一种方法得到的结果较接近准确值。 实验二 2.1用高斯消元法的消元过程作矩阵分解。设 消元过程可将矩阵A化为上三角矩阵U,试求出消元过程所用的乘数、、并以如下格式构造下三角矩阵L和上三角矩阵U 验证:矩阵A可以分解为L和U的乘积,即A=LU。 【算法分析】 (1)TheprocessofGaussianeliminatio