非线性方程组的牛顿迭代法的应用.doc

非线性方程组的牛顿迭代法的应用.doc

ID:55158118

大小:473.00 KB

页数:5页

时间:2020-04-29

非线性方程组的牛顿迭代法的应用.doc_第1页
非线性方程组的牛顿迭代法的应用.doc_第2页
非线性方程组的牛顿迭代法的应用.doc_第3页
非线性方程组的牛顿迭代法的应用.doc_第4页
非线性方程组的牛顿迭代法的应用.doc_第5页
资源描述:

《非线性方程组的牛顿迭代法的应用.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、CENTRALSOUTHUNIVERSITY数值分析实验报告非线性方程组的牛顿迭代法的应用一、问题背景非线性是实际问题中经常出现的,并且在科学与工程计算中的地位越来越重要,很多我们熟悉的线性模型都是在一定条件下由非线性问题简化的,为得到更符合实际的解答,往往需要直接研究非线性科学,它是21世纪科学技术发展的重要支柱,非线性问题的数学模型有无限维的如微分方程,也有有限维的。道遥咏计算机进行科学计算都要转化为非线性的单个方程或方程组的求解。从线性到非线性是一个质的变化,方程的性质有本质不同,求解方法也有很

2、大差别。本文主要介绍的是非线性方程组的牛顿迭代法的数值解法。二、数学模型对于方程,如果湿陷性函数,则它的求根是容易的。牛顿法实质上是一种线性化方法,其基本思想是将线性方程逐步归结为某种线性方程来求解。设已知方程有近似根(假定),将函数在点展开,有,于是方程可近似地表示为这是个线性方程,记其根为,则的计算公式,这就是牛顿法。三、算法及流程对于非线性方程在处按照多元函数的泰勒展开,并取线性项得到其中这样便得到迭代公式:这边是牛顿迭代法的算法过程,牛顿迭代法是工程上应用最多的一种非线性方程组的计算方程法。M

3、ATLAB编写的牛顿迭代法的基本程序如下:%牛顿迭代法计算非线性方程%输入x0为迭代初值%tol为误差容限,如果缺省,则默认为10的-10次方%data用来存放计算的中间数据便于计算收敛情况分析function[x,n,data]=new_ton(x0,tol)ifnargin==1tol=1e-10;endx1=x0-f1(x0)/df1(x0);n=1;%迭代过程while(norm(x1-x0)>tol)x0=x1;x1=x0-f1(x0)/df1(x0);n=n+1;%data用来存放中间数据

4、data(:,n)=x1;endx=x1;以文件名new_ton.m保存文件。四、计算结果与分析计算非线性方程组取初值为。(1)先编写方程函数与方程的Jacobi矩阵函数。%牛顿迭代法的方程函数functionf=f1(x0)x=x0(1);y=x0(2);f1=x^2-2*x-y+0.5;f2=x^2+4*y^2-4;%最后方程函数以行向量输出f=[f1f2];以文件名f1.m保存。(2)打开editor编辑器输入以下语句并以文件名df1.m保存。functionf=df1(x0)x=x0(1);y

5、=x0(2);f=[2*x-2-12*x8*y];(3)编写主函数,并以文件名new_main.m保存文件。%牛顿迭代法的主函数x0=[11];[x,n,data]=new_ton(x0);disp('计算结果为')xdisp('迭代次数为')n%抽取data中的第一个变量数据画出曲线subplot(2,1,1)plot(data(1,:)),title('x在迭代中的变化')%抽取data中的第二个变量数据画出其变化曲线subplot(2,1,2)plot(data(2,:)),title('y在迭

6、代中的变化')(4)运行程序,在MATLAB命令窗口输入new_main,以enter键结束,输出为:计算结果为x=-0.94980.3981迭代次数为n=16为了获得更为直观的迭代收敛信息,MATLAB方便的画出了函数图形,如下所示,其中第一幅图形为x的迭代情况,第二幅为y的迭代情况。从图中可以看出,迭代的前几次有一些震荡情况,但是随着迭代次数的增加,收敛效果还是很明显的。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。