3、(['p=',num2str(p,16>]>。disp(['k=',num2str(k>]>。DXDiTa9E3d四、结果及讨论1、结果(1>迭代法(2)牛顿法2、讨论不动点迭代法是求解非线性方程的主要方法,而牛顿法应用广泛,是著名的非线性方程求根法,两种方法有如下不同:RTCrpUDGiT(1>牛顿法求解方程的单根时具有二阶收敛性,从结果可知,牛顿法比不动点迭代法的收敛速度快,能以较少的迭代达到理想的值。5PCzVD7HxA(2>20/20由于不动点迭代在区间内的唯一性,所以若要求方程的不同解,则需选择
4、不同的迭代公式;而对于牛顿法,只需选取不同的初值,牛顿法就会收敛于不同的跟。jLBHrnAILg实验二线性方程组的直接解法一、目的和意义线性方程的直接解法是指通过有限步运算后,将方程组加工为某个三角方程组对角方程组来求解,主要分为消元法和矩阵分解两大类。本次实验通过matlab程序的编写,熟悉使用LU分解、追赶法等线性方程组的直接求解方法。巩固课堂和书本上所学的知识、加强实践能力、提高解决实际计算问题的水平、启发创新思想。xHAQX74J0X二、计算公式(1>LU分解LU分解主要是指Doolittle分解
5、,Doolittle分解公式为:Doolittle分解得到矩阵A的LU分解后,求解Ly=b与Ux=y的计算公式为:20/20(2>追赶法追赶法即带状矩阵的LU分解,其分解公式为:求解Ly=d与Ux=y的计算公式为:三、结构程序设计代码(1>LU分解A=[4,2,1,5。8,7,2,10。4,8,3,6。12,6,11,20]。b=[-2。-7。-7。-3]。L=eye(4>。U(1,:>=A(1,:>。%将L初始化为单位对角阵,并使u1j=aijLDAYtRyKfEn=4。x=zeros(n,1>。%将x
6、和y初始化为n×1的零矩阵Zzz6ZB2Ltky=zeros(n,1>。fork=2:n%矩阵分解dvzfvkwMI1ifU(k-1,k-1>==0%*若对角线元素为0,则计算公rqyn14ZNXI式无意义,分解失败*%disp('分解失败'>。return。endL(k:n,k-1>=A(k:n,k-1>/U(k-1,k-1>。U(k,k:n>=A(k,k:n>-L(k,1:k-1>*U(1:k-1,k:n>。ifk=A(k+1:n,k>-L(k+1:n,1:k-1>*U(1:k
7、-1,k>。endendB=[Lb]。%求解yy(1,1>=B(1,n+1>/B(1,1>。20/20fori=2:1:ny(i,1>=(B(i,n+1>-B(i,1:i-1>*y(1:i-1,1>>/B(i,i>。endC=[Uy]。%求解xx(n,1>=C(n,n+1>/C(n,n>。forj=n-1:-1:1x(j,1>=(C(j,n+1>-C(j,j+1:n>*x(j+1:n,1>>/C(j,j>。endx%输出x(2>追赶法n=5。%n=5fori=1:n%*输入a=(a1,a2,…,an>,b
8、=(b1,b2,…,bn>,c=(c1,c2,…,cn>,d=(d1,d2,…,dn>,其中,EmxvxOtOco多输入的a1和cn对程序没有影响*%a(i>=1。b(i>=2。c(i>=1。ifi==1d(i>=-7。elsed(i>=-5。endendfori=2:n%矩阵分解ifb(i-1>==0%若对角线元素为零,则算法失效disp('追赶法失败'>。returnenda(i>=a(i>/b(i-1>。b(i>=b(i