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

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

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

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

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

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

课程设计 设计题目数值分析 学生姓名李飞吾 学号xxxxxxxx 专业班级信息计xxxxx班 指导教师 设计 题目共15题如下成绩课程设计主要内容设计目的: 通过不同题目的理解,进行算法分析。 通过MATLAB软件进行编程对题目进行解决。 个别题目设计验证,加深对数值分析的理解。 函数的图像绘制的运用 设计题目: eq\o\ac(○,1)题1.1利用逆向递推的方法求解问题,通过条件终止地推 eq\o\ac(○,2)题1.2从某个初始值开始,利用递推公式进行积分估值 eq\o\ac(○,3)题1.3绘制Koch分形曲线,节点之间的关系与坐标变换 eq\o\ac(○,4)题2.1用高斯消元法的消元过程作矩阵分解,LU分解 eq\o\ac(○,5)题2.2矩阵分解方法求上题中A的逆矩阵,针对不同的b,而重复利用已知的LU eq\o\ac(○,6)题2.3验证希尔伯特矩阵的病态性,矩阵基本运算 eq\o\ac(○,7)题3.1用泰勒级数的有限项逼近正弦函数,由图像观察逼近效果 eq\o\ac(○,8)题3.2绘制飞机的降落曲线,线性方程组求解,与绘图 eq\o\ac(○,9)题4.1线性拟合的函数表达式的推导,使用了两种代码方法 eq\o\ac(○,10)题5.1用几种不同的方法求积分,观察数值积分的逼近效果 eq\o\ac(○,11)题5.5求空间曲线L弧长。求导后使用符号函数积分计算 eq\o\ac(○,12)题6.1用欧拉公式和四阶龙格-库塔法分别求解下列初值问题,代码搜索内容。 eq\o\ac(○,13)题6.4常微分方程的解,dsolve()函数使用 eq\o\ac(○,14)题8.2差分法解常微分方程边值问题,ode函数无能为力,Matlab中提供bvp解算器。solinit=bvpinit(x,yinit,params)sol=bvpsolver(odefun,bcfun,solinit,options) eq\o\ac(○,15)题8.3求解圆的半径,圆心。线性方程组解参数 设计总结: 算法是题目的解题核心,好的算法可以使计算更加精确(题5.1) 图形绘制在今后的课程设计,或者是论文中可以用到。 无法解决的问题,需要请教室友,或者上网查阅。 MATLAB是一个很强大的软件,提供了很多内置的数学函数,直接进行解题。查阅资料时了解到一些MATLAB论坛。通过帖子阅读,了解到了MATLAB在科学计算方面,模拟,图形,视频等起到的作用。增加了对“计算科学“的理解。指导老师评语建议:从学生的工作态度、工作量、设计(论文的)创造性、学术性、使用性及书面表达能力等方面给出评价。 签名:20年月日 数值分析课程设计 1.1水手、猴子和椰子问题:五个水手带了一只猴子来到南太平洋的一个荒岛上,发现那里有一大堆椰子。由于旅途的颠簸,大家都很疲惫,很快就入睡了。第一个水手醒来后,把椰子平分成五堆,将多余的一只给了猴子,他私藏了一堆后便又去睡了。第二、第三、第四、第五个水手也陆续起来,和第一个水手一样,把椰子分成五堆,恰多一只猴子,私藏一堆,再去入睡,天亮以后,大家把余下的椰子重新等分成五堆,每人分一堆,正好余一只再给猴子,试问原先共有几只椰子?(15621) 试分析椰子数目的变化规律,利用逆向递推的方法求解这一问题 解:算法分析:解该问题主要使用递推算法,关于椰子数目的变化规律可以设起初的椰子数为,第一至五次猴子在夜里藏椰子后,椰子的数目分别为再设最后每个人分得x个椰子,由题: (k=0,1,2,3,4) 所以,利用逆向递推方法求解 (k=0,1,2,3,4) 输出结果: 102315621 MATLAB代码: n=input('n='); n=15621 forx=1:n p=5*x+1; fork=1:5 p=5*p/4+1; end 结果分析:此题的解题思想是在迭代法中,判断p为整数时,输出与p ifp==fix(p), break end end disp([x,p]) 1.2设, (1)从尽可能精确的近似值出发,利用递推公式: 计算机从到的近似值; (2)从较粗糙的估计值出发,用递推公式: 计算从到的近似值; 解:首先第一步,估计和的值: symsxn; int(x^0/(5+x),0,1) ans=log(2)+log(3)-log(5) eval(ans) ans= 0.1823 则取为0.18 symsxn; int(x^30/(5+x),0,1) ans= eval(ans) ans= 0 MATLAB中小数点后保留四位,由上面计算知道积分的值不为了零。所以的取值为 MATLAB代码: i=inp