- 8
- 0
- 约4.35千字
- 约 8页
- 2017-01-12 发布于江苏
- 举报
《计算方法》实验报告实验名称:班级:姓名:学号:实验目的1.运用matlab软件完成线性方程组的直接实验2.通过实验,了解LU分解的优点及追赶法的优点实验题目1.用追赶法分别对n=10,n=100,n=1000解方程组Ax=b,其中2.再用LU分解法此方程组,并对两者进行比较实验原理追赶法原理将Gauss消去法应用于三对角方程组得到所谓“追赶法”。具体操作过程为:追:其中赶:LU分解法原理步骤1 输入系数矩阵A,右端项b步骤2 LU分解:对k =2,…,n计算步骤3 用向前消去法解下三角方程组Ly=b步骤4 用回代法解上三角方程组Ux=y实验内容1.编写追赶法MATLAB程序%jxmchase.mfunction x= jxmchase(a,b,c,d)n=length(a);for k=2:nb(k)=b(k)-a(k)/b(k-1)*c(k-1);d(k)=d(k)-a(k)/b(k-1)*d(k-1);endx(n)=d(n)/b(n);for k=n-1:-1:1x(k)=(d(k)-c(k)*x(k+1))/b(k);end2,编写LU分解法MATLAB程序%jxmlu.mfunction [x,l,u]=jxmlu(A,b)n=length(b); u=zeros(n,n);l=eye(n,n);u(1,:)=A(1,:);l(2:n,1)=A(2:n,1)/u(1,1);for k=2:nu(k,k:n)=A(k,k:n)-l(k,1:k-1)*u(1:k-1,k:n);l(k+1:n,k)=A(k+1:n,k)-l(k+1:n,1:k-1)*u(1:k-1,k);l(k+1:n,k)=l(k+1:n,k)/u(k,k);endy=zeros(n,1);y(1)=b(1);for k=2:ny(k)=b(k)-l(k,1:k-1)*y(1:k-1);endx=zeros(n,1); x(n)=y(n)/u(n,n);for k=n-1:-1:1x(k)=(y(k)-u(k,k+1:n)*x(k+1:n))/u(k,k);end五、实验结果1.采用追赶法求在MATLAB程序的当前窗口输入n=10时a=(-1)*ones(10,1); b=4*ones(10,1); c=(-1)*ones(10,1);d=6*ones(10,1); d(1)=6;x=jxmchase(a,b,c,d)结果为x =2.1961 2.7846 2.9422 2.9842 2.9947 2.9947 2.9842 2.9422 2.78462.1961n=100时a=(-1)*ones(100,1); b=4*ones(100,1); c=(-1)*ones(100,1); d=5*ones(100,1); d(1)=6;x=jxmchase(a,b,c,d)结果为x =Columns 1 through 9 2.0981 2.3923 2.4711 2.4923 2.4979 2.4994 2.4999 2.5000 2.5000Columns 10 through 18 2.5000 2.5000 2.5000 2.5000 2.5000 2.5000 2.5000 2.5000 2.5000Columns 19 through 27 2.5000 2.5000 2.5000 2.5000 2.5000 2.5000 2.5000 2.5000 2.5000Columns 28 through 36 2.5000 2.5000 2.5000 2.5000 2.5000 2.5000 2.5000 2.5000 2.5000Columns 37 through 45 2.5000 2.5000 2.5000 2.5000 2.5000 2.5000 2.5000 2.5000 2.5000Columns 46 through 54 2.5000 2.5000 2.5000 2.5000 2.5000 2.5000 2.5000 2.5000 2.5000Columns 55 through 63 2.5000 2.5000 2.5000 2.5000 2.5000 2.5000 2.5000 2.5000 2.5000Columns 64 through 7
原创力文档

文档评论(0)