资源描述:
《数值分析实验总结.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、数值分析实验总结 华北科技学院基础部验证性实验实验报告课程名称 数值分析 实验学期 2014 至 2015 学年第 一 学期 学生所在系部 基础部 年级 2012级 专业班级 学生姓名 学号 任课教师
2、 张 实验成绩 《数值分析》课程综合性实验报告开课实验室数学应用实验室xx年10月17日实验题目非线性方程的求根、线性方程组的直接法实验 一、实验目的1)领会求非线性方程根的二分法、Aitken加速方法、牛顿法和割线法的思想。 会编制上述方法的计算程序,并用来求解有关问题。 2)熟悉求解线性方程组的各种直接法的有关理论。 主要是列主元高斯消去法、L
3、U分解法。 会编制上述方法的计算程序。 3)针对习题编制程序,并上机计算其所需要的结果。 4)通过对各种求解方法的计算实习,体会各种解法的功能、优缺点及适用场合,会选取适当的算法。 二、设备与环境Malab软件等。 三、实验内容及要求1.用二分法、牛顿法和割线法求解同一个非线性方程,对各种方法的优缺点进行比较分析;2.使用列主元高斯消去法和LU分解法解同一个线性方程组,并对所得结果进行数值分析。 3.题目可以是教材上的例题或实验题,也可以其他的题目。 四、实验结果及分析1.用二分法
4、、牛顿法和割线法求解同一个非线性方程,对各种方法的优缺点进行比较分析;题目求解下列方程.10],2,1[,0153?=??精度为隔根区间为xx①二分法解非线性方程Matlab程序function[x,k]=mbisec(f,a,b,ep)x=(a+b)/2.0;k=0;whileabs(feval(f,x))>ep
5、(b-a>ep)iffeval(f,x)*feval(f,a)<0b=x;elsea=x;endx=(a+b)/2.0;k=k+1;end执行程序f=@(x)x^3-x-1;[x,k
6、]=mbisec(f,1,2,1e-5)结果x=1.3247k=17②牛顿法解非线性方程Matlab程序function[x,k]=mnewton(f,df,x0,ep,N)ifnargin<5,N=500;endifnargin<4,ep=1e-4;endk=0;whilek>[x,k]=mqnewt(f,1.0,2.0,1e-5)结果x=1.3247k=6④各种方法的优缺点的比较分析首先,三种方法得出的解是一样的,而二分法的迭代次数最多(17次),而牛顿法的迭代次数最少(3次),割线法的迭代
7、次数也较少(6次)。 二分法具有计算简单,方法可靠并且有大范围收敛性的优点;缺点是收敛缓慢(只有线性收敛速度),并且不能求重根和复根,其迭代次数较多。 牛顿法具有至少二阶收敛速度的优点;缺点是每次迭代除需计算函数值。 ,还需计算其一阶导数的值,如果。 比较复杂,计算其导数就可能十分麻烦,尤其当。 很小时,计算需十分精确,否则会产生较大的误差。 割线法的优点是无需计算函数导数,但仍具有超线性收敛速度;其缺点是收敛速度没有牛顿法快。 2.使用列主元高斯消去法和LU分解法解同一个线性方程
8、组,并对所得结果进行数值分析。 题目求下列方程组的近似解?????=++?=++=++1542187747322321321321xxxxxxxxx①列主元高斯消去法解线性方程组Matlab程序function[x]=mgauss(A,b,flag)ifnargin<3,flag=0;endn=length(b);fork=1:(n-1)m=A(k+1:n,k)/A(k,k);A(k+1:n,k+1:n)=A(k+1:n,k+1:n)-m*A(k,k+1:n);b(k+1:n)=b(k+1:n
9、)-m*b(k);A(k+1:n,k)=zeros(n-k,1);ifflag~=0,Ab=[A,b],endendx=zeros(n,1);x(n)=b(n)/A(n,n);fork=n-1:-1:1x(k)=(b(k)-A(k,k+1:n)*x(k+1:n))/A(k,k);end执行程序A=[223;477;-245];>>b=[7181]';>>x=mgauss2(A,b);x=x'结果x=2.16671.33330②LU分解法解线性方程组Matlab程序function[x,L,U]=