欢迎来到天天文库
浏览记录
ID:22903517
大小:164.00 KB
页数:6页
时间:2018-11-01
《非线性方程组求解的牛顿迭代法用matlab实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1.二元函数的newton迭代法理论分析设在点的某一邻域内连续且有直到2阶的连续偏导数,为该邻域内任意一点,则有其中,于是方程可近似表示为即同理,设在点的某一邻域内连续且有直到2阶的连续偏导数,为该邻域内任意一点,亦有其中,于是方程可近似表示为即于是得到方程组求解这个方程组,当时从而(1)记符号于是(1)式可改写为(2)迭代公式为:(3)通过迭代公式(3)可以迭代出当时,的值,当(为给定的误差控制项)时,原方程组的根即为。2.newton迭代法求解给定的线性方程组方程组其中求解过程如下于是迭代公式为为了解出正负轴的两个
2、解,需要对函数f进行变形。3.MATLAB编程实现过程先画出函数图像找出大概位置ezplot('exp(x^(-2)+y^(-2))=4',[-6,6,-6,6])%画出函数gy=2.4:0.001:3.8;x=(tan(1)+4-y.^(3/2)).^3;holdonplot(x,y)%画出函数f将图放大观察由图可以看出两个交点的大概位置是(-1,3.4)和(1,2.6)。所以将这两个点作为初始值进行迭代计算,MATLAB编程如下:form=1:2;%循环两次计算出两个解ifm<2x=1;y=2.6;elsex=-1
3、;y=3.4;endxk=0;yk=0;i=0;t=1;whilet>0.000001%设置计算精度i=i+1;f=(tan(1)+4-y^(3/2))^3-x;g=exp(x^(-2)+y^(-2))-4;fx=-1;fy=3*(tan(1)+4-y^(3/2))^2*(-1.5*y^(1/2));gx=-2*x^(-3)*exp(x^(-2)+y^(-2));gy=-2*y^(-3)*exp(x^(-2)+y^(-2));xk=x+(f*gy-g*fy)/(gx*fy-fx*gy);yk=y+(g*fx-f*gx)
4、/(gx*fy-fx*gy);t=abs(xk-x);x=xk;y=yk;endsprintf('i=%dx=%8.8fy=%8.8f',i,x,y)%输出计算次数及计算结果end计算结果如下图所示计算精度为0.000001,迭代5次计算出结果
此文档下载收益归作者所有