资源描述:
《matlab数值计算 数值计算大作业——刘》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、matlab数值计算数值计算大作业——刘导读:就爱阅读网友为您分享以下“数值计算大作业——刘”的资讯,希望对您有所帮助,感谢您对92to.com的支持!课课程名称:设计题目:学号:姓名:完成时间:程设数值分析数值计算大作业S315070064刘峰2015年10月25日计14题目一、非线性方程求根1.题目假设人口随时间和当时人口数目成比例连续增长,在此假设下人口在短期内的增长建立数学模型。(1)如果令N(t)表示在t时刻的人口数目,?表示固定的人口出生率,则人口数目满足微分方程dN(t)??N(t),此方程的解为N(t)=N0e?t;dtdN(t)??N(t)?v,dt(2)如果允许移民移入且速
2、率为恒定的v,则微分方程变成此方程的解为N(t)=N0e?t+v(e?t?1);?假设某地区初始有1000000人,在第一年有435000人移入,又假设在第一年年底该地区人口数量1564000人,试通过下面的方程确定人口出生率?,精确到10?4;且通过这个数值来预测第二年年末的人口数,假设移民速度v保持不变。1564000=1000000e??435000?(e??1)2.数学原理采用牛顿迭代法,牛顿迭代法的数学原理是,对于方程f(x)?0,如果f(x)是线性函数,则它的求根是很容易的,牛顿迭代法实质上是一种线性化方法,其基本思想是将非线性方程f(x)?0逐步归结为某种线性方程来求解。设已知方
3、程f(x)?0有近似根xk(假定f?(x)?0),将函数f(x)在点xk进行泰勒展开,有14f(x)?f(xk)?f?(xk)(x?xk)????.于是方程f(x)?0可近似地表示为f(x)?f?(xk)(x?xk)?0这是个线性方程,记其根为xk?1,则xk?1的计算公式为xk?1??xk?f(xk)f?(xk),k?0,1,2,???,-1-这就是牛顿迭代法,简称牛顿法。3.程序设计作出函数的图像,大概估计出根的位置fplot(‘1000*exp(x)+(435*x)*(exp(x)-1)-1564’,[03]);grid大概估计出初始值x=0.5function[p1,err,k,y]=
4、newton(f,df,p0,delta,max1)%f是非线性系数%df是f的微商%p0是初始值%dalta是给定允许误差%max1是迭代的最大次数%p1是牛顿法求得的方程近似解%err是p0误差估计%k是迭代次数p0,feval(‘f’,p0)fork=1:max1p1=p0-feval(‘f’,p0)/feval(‘df’,p0);-2-err=abs(p1-p0);p0=p1;p1,err,k,y=feval(‘f’,p1)if(err14p1,err,k,y=feval(‘f’,p1)endfunctiony=f(x)y=1000000*exp(x)+435000*(exp(x)-1
5、)/x-1564000;functiony=df(x)y=1000000*exp(x)+435000*(exp6953p1=0.1010err=2.0129e-006k=4y=2.5576e-006ans=0.1010运算后的结果为??0.1010,通过这个数值来预测第二年年末的人口数,f(t)=1000000e0.1010t?4350000.1010t(e?1)0.1010t=2时候对于f(x)?2187945.865实践表明,当初始值难以确定时,迭代法就不一定收敛了,因此要根据问题实际背景或者二分法先得一个较好的初始值,然后再进行迭代;再者迭代函数选择不合适的话,采用不动点迭代法也有可能出
6、现不收敛的情况;因此我采用的是牛顿法。-3-题目二:线性方程组求解1.题目
14假设一个物体可以位于n?1个等距点x0,x1,?,xn的任意位置,当物体在xi位置时,它只能等可能的移动到xi?1或者xi+1,而不能直接移动到其他任何位置,概率pi表示物体从位置xi开始在到达右端点xn之前到达左端点x0的概率,显然p0?1,pn?0,且有pi=既有下面方程组:11pi-1+pi+1,i?1,2,?,n?12212??1???1?2?????????0???0?12?12?121?121??1?12??0?????1?p???1?2????p2??????0??????????????p1??n?
7、1???0????2?1???取n?10对方程组进行求解(迭代法或者直接法)。2.数学原理在解微分方程的边值问题、热传导方程以及船体数学放样中建立的三次样条函数等工程技术问题时,经常遇到下面形式的线性方程组:?b1c1??x1??d1??ab??x??d?22???2??2??????=????????????abcdxn?1n?1n?1???n?1??n?1??anbn?????dn???xn?