数值计算大作业——刘_第1页
数值计算大作业——刘_第2页
数值计算大作业——刘_第3页
数值计算大作业——刘_第4页
数值计算大作业——刘_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课 程 设 计课程名称:数值分析设计题目:数值计算大作业学 号:S315070064姓 名:刘峰完成时间:2015年10月25日题目一、非线性方程求根1.题目 假设人口随时间和当时人口数目成比例连续增长,在此假设下人口在短期内的增长建立数学模型。(1)如果令表示在时刻的人口数目,表示固定的人口出生率,则人口数目满足微分方程,此方程的解为;(2)如果允许移民移入且速率为恒定的,则微分方程变成,此方程的解为;假设某地区初始有1000000人,在第一年有435000人移入,又假设在第一年年底该地区人口数量1564000人,试通过下面的方程确定人口出生率,精确到;且通过这个数值来预测第二年年末的人口数

2、,假设移民速度保持不变。2.数学原理采用牛顿迭代法,牛顿迭代法的数学原理是,对于方程,如果是线性函数,则它的求根是很容易的,牛顿迭代法实质上是一种线性化方法,其基本思想是将非线性方程逐步归结为某种线性方程来求解。设已知方程有近似根(假定),将函数在点进行泰勒展开,有于是方程可近似地表示为这是个线性方程,记其根为,则的计算公式为,这就是牛顿迭代法,简称牛顿法。3.程序设计作出函数的图像,大概估计出根的位置fplot(1000*exp(x)+(435*x)*(exp(x)-1)-1564,0 3);grid大概估计出初始值x=0.5function p1,err,k,y=newton(f,df,p

3、0,delta,max1)% f是非线性系数% df是f的微商% p0是初始值% dalta是给定允许误差% max1是迭代的最大次数% p1是牛顿法求得的方程近似解% err是p0误差估计% k是迭代次数p0,feval(f,p0)for k=1:max1 p1=p0-feval(f,p0)/feval(df,p0); err=abs(p1-p0); p0=p1; p1,err,k,y=feval(f,p1) if(err a=-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,0 b=1,1,1,1,1,1,1,1,1,1 c=-0.5,-0.5,-0

4、.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,0 f=0.5,0,0,0,0,0,0,0,0,0得到此题中的a,b,c,f矩阵:a = -0.5000 -0.5000 -0.5000 -0.5000 -0.5000 -0.5000 -0.5000 -0.5000 -0.5000 b = 1 1 1 1 1 1 1 1 1 1c = -0.5000 -0.5000 -0.5000 -0.5000 -0.5000 -0.5000 -0.5000 -0.5000 -0.5000 0f = 0.5000 0 0 0 0 0 0 0 0 0然后在MATLAB中调用之前保存的迭代法函数

5、function,在命令窗口中输入:chase(a,b,c,f)回车得到结果: x=chase(a,b,c,f)x =0.9000 0.8000 0.7000 0.6000 0.5000 0.4000 0.3000 0.2000 0.1000 0追赶法为一种特殊的LU分解法。追赶法是求解三对角矩阵的常用方法,但从整体编程角度分析,其程序编写较迭代法复杂,但通用性较好。追赶法求解三对角矩阵不但节省存储单元,而且可以减少计算量,是工程技术中比较常用的数学工具。三、数值积分1、题目卫星轨道是一个椭圆,椭圆周长的计算公式是, 这里是椭圆的半长轴, 是地球中心与轨道中心(椭圆中心)的距离, 记为近地点距

6、离, 为远地点距离, 公里为地球半径,则, 某人造卫星近地点距离公里,远地点距离公里, 试用Romberg方法求卫星轨道的周长,精确到。2.数学原理龙贝格方法是在梯形公式、辛普森公式和柯特斯公式之间的关系的基础上,构造出一种加速计算积分的方法。 作为一种外推算法, 它在不增加计算量的前提下提高了误差的精度。 龙贝格方法的主要过程是将粗糙的梯形公式逐步加工成精度较高的辛普森公式和科特斯公式的方法称为龙贝格方法。复化梯形公式 在复化梯形公式中,每个内节点既是前一个小区间的终点,又是后一个小区间的起点,因此上式可以改写为复化梯形公式余项 复化梯形公式的递推公式为复化辛普森求积公式与复化梯形公式类似,

7、每个内节点需用两次,因此有显然复化辛普森公式在n趋于无穷大时,他的收敛速度比复化梯形公式更快。以表示二分k次后求得的梯形值,且以表示序列的m次加速度,理查森外推法的递推公式可写成龙贝格算法的计算过程如下:(1) 取求(2) 利用变步长梯形公式,其中k为区间的二分次数,即或(3) 依横行次序求加速值,逐个求出的第k行其余各元素(4) 当相邻对角元素之差的绝对值小于预先给定的精度时,终止计算。表3-1龙贝格算法递推表kh0b-a12343.程序设计function R=romberg(f,a,b,n)format longR=zeros(n+1,n+1);R(0+1,0+1)=(b-a)/2*(f

8、eval(f,a)+feval(f,b);for i=1:n,h=(b-a)/2i; s=0; for k=1:2(i-1), s=s+feval(f,a+(2*k-1)*h); end R(i+1,0+1)=R(i-1+1,0+1)/2+h*s;endfor j=1:n,fac=1/(4j-1); for m=j:n, R(m+1,j+1)=R(m+1,j-1+1)+fac*(R(m+1,j-1+1)-R(m-1+1,j-1+1); endend4.结果分析与讨论本题根据算法原理在matlab中编写完龙贝格算法的自定义程序后,直接输入符合格式的函数积分就可得到相应轨道周长。调用MATLAB龙贝格算法的函数后可算得 R = romberg(4*7800*sqrt(1-(973.5/7880)2*sin(x)2),0,pi/2,6)计算出来得出R=49136.836545由此可得精10-6确到的卫星轨道

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论