您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 汽车理论 > 中南大学数值分析作业完整版~
数数值值分分析析数学实验报告姓名:XX学号:xx指导老师:易昆南专业班级:xx2目录1.高斯消去法..............................................................32.LU分解.............................................................63.用牛顿法求积分……………………………………..104.用复化梯形法求积分………………………………..125.用复化辛普森法、复化辛普森变步长法求积分….136.节点加密复化梯形公式.........................................167.龙贝格积分.............................................................178.欧拉方法、休恩方法、泰勒方法、龙格-库塔方法………………................................................................203一.高斯消去法学号xx班级xx姓名xx指导教师易昆南实验题目高斯消去法评分1、设计(实习)目的:1.掌握高斯消去法的原理2.通过实践加深对这门语言中M文件的了解3.熟悉简单程序结构。2、实验内容:1.对高斯消去法进行编程,并给出初始数据计算结果。2.对高斯列主元消去法进行编程,并给出初始数据计算结果。3.详细设计:1.高斯消去法%消去过程functionx=gsxq(A,b)n=length(b);fori=1:n-1%ÁÐfork=i+1:nforj=i+1:nifabs(A(i,i))10^(-6)warning(('分母不能为零!');elseA(k,j)=A(k,j)-A(i,j)*A(k,i)/A(i,i);endendb(k)=b(k)-b(i)*A(k,i)/A(i,i);A(k,i)=0;endend%»Ø´ø¹ý³Ìx(n)=b(n)/A(n,n);fori=n-1:-1:1sum=0;forj=i+1:nsum=sum+A(i,j)*x(j);endx(i)=(b(i)-sum)/A(i,i);end42.高斯列主元消去法fuctionx=lgs(A,b)%用高斯消去法解线性方程组%x是未知向量n=length(b);x=zeros(n,1);c=zeros(1,n);%寻找最大主元t=0;fori=1:n-1max=abs(A(i,i));m=i;forj=i+1:nifmaxabs(A(j,i))max=abs(A(j,i));m=j;endendifm~=ifork=1:nc(k)=A(i,l);A(i,k)=A(m,k);A(m,k)=c(k);endt=b(i);b(i)=b(m);b(m)=t;endfork=i+1:nforj=i+1:nA(k,j)=A(k,j)-A(i,j)*A(k,j)/A(i,i);endb(k)=b(k)-b(i)*A(k,i)/A(i,i);A(k,i)=0;endend%回带过程x(n)=b(n)/A(n,n);fori=n-1:-1:1sum=0;forj=i+1:nsum=sum+A(i,j)*x(j);end5x(i)=(b(i)-sum)/A(i,i);end4:实验结果:(1)高斯消去法(2)高斯列主元消去法5:实验总结这两个程序让我对高斯消去法有了更深刻的理解,能更灵活的运用各种基础函数与矩阵的运算来进行求解,参考了书上的已有程序流程图,程思想需要进一步完善,需要对函数的进一步熟悉。姓名:xx2012年3月25日6二.LU分解学号xx班级xx姓名xx指导教师易昆南实验题目LU分解评分1、设计(实习)目的:1.了解矩阵LU分解原理2.熟悉简单程序结构。2、实验内容:1.普通LU分解2.列主元的LU分解3.详细设计:(1)普通LU分解functionlu(A,b)[n,m]=size(A);ifnargin==1ifn==mb=zeros(n,1);elseb=[];endelseb=b;endA=[A,b];sum=0;forr=1:nifr==1forj=1:n+1fori=2:nu(r,j)=A(r,j);l(i,r)=A(i,r)/u(r,r);endendendifr1&rnfori=r+1:nforj=r:n+17ifr1&rnsum1=0;sum2=0;forp=1:r-1sum1=sum1+l(r,p)*u(p,j);endu(r,j)=A(r,j)-sum1;forp=1:r-1sum2=sum2+l(i,p)*u(p,r);endl(i,r)=(A(i,r)-sum2)/u(r,r);endendendendifr==nforj=n:n+1sum3=0;forp=1:n-1sum3=sum3+l(n,p)*u(p,j);endu(n,j)=A(n,j)-sum3;l(n,n)=0;endendendy=u(:,n+1);l=l+eye(n)u=u(1:n,1:n)x(n)=y(n)/u(n,n);fork=n-1:-1:1sum4=0;form=k+1:nsum4=sum4+u(k,m)*x(m);endx(k)=(y(k)-sum4)/u(k,k);endx(2)列主元的LU分解functionx=lzylu(A,b)[n,m]=size(A);ifn~=m8error('TherowsandcolumnsofmatrixAmustbeequal!');return;endforii=1:nfori=1:iiforj=1:iiAA(i,j)=A(i,j);endendif(det(AA)==0)error('ThematrixcannotbedividedbyLU!')return;endendL=eye(n);U=zeros(n,n);max=abs(A(1,1));m=1;forj=(1+1):nifmaxabs(A(j,1))max=abs(A(j,1));m=1;endendifm~=1fork=1:nc(k)=A(1,k);A(1,k)=A(m,k);A(m,k)=c(k);endt=b(1);b(1)=b(m);b(m)=t;endfori=1:nU(1,i)=A(1,i);L(i,1)=A(i,1)/U(1,1);endfori=2:nmax=abs(A(i,i));m=i;forj=(i+1):nifmaxabs(A(j,i))max=abs(A(j,i));9m=j;endendifm~=ifork=1:nc(k)=A(i,k);A(i,k)=A(m,k);A(m,k)=c(k);endt=b(i);b(i)=b(m);b(m)=t;endforj=i:nfork=1:i-1M(k)=L(i,k)*U(k,j);endU(i,j)=A(i,j)-sum(M);endforj=i+1:nfork=1:i-1M(k)=L(j,k)*U(k,i);endL(j,i)=(A(j,i)-sum(M))/U(i,i);endendx=U\(L\b);4:实验结果:(1)普通LU分解10三.用牛顿法求积分(2)列主元LU分解5:实验总结LU分解在上学期已经学习过,这次的实验让我对LU分解有了更深的了解,又掌握了一种解线性方程组的好方法。姓名:XX2012年3月29日学号XX班级XX姓名XX指导教师易昆南实验题目用牛顿法求积分评分1、设计(实习)目的:1.进一步了解牛顿法及其应用2.进一步理解牛顿法求积分的思想2、实验内容:用牛顿法求函数xxxxf23)(的积分3.详细设计:functiony=newton(a,b,n)x=a:(b-a)/n:b;%插值节y=x.^3+x.^2+x;11n=length(x);z=a:(b-a)/(2*n):b;forj=2:nfori=n:-1:jy(i)=(y(i)-y(i-1))/(x(i)-x(i-j+1));%计算差商endendu=y(n);m=length(z);forj=1:mfori=n-1:-1:1u=y(i)+u*(z(j)-x(i));%计算牛顿插值多项式的值v(j)=u;endu=y(n);end4:实验结果:在命令窗口输入y=newton(0,1,10),得到如下结果:y=Columns1through1001.11001.30001.00000.0000-0.00000.0000-0.00000.0000-0.0000Column110.00005:实验总结本次实验是对于求函数积分的一个重要应用,让我进一步了解牛顿法的含义和怎样用它求函数积分。而且用牛顿法求函数积分是我从未接触过的东西,这种方法对于我是一个挑战,经过本次实验我们不仅学到了新的知识,而且提高了动手能力。姓名:XX2012年4月1日12四.用复化梯形法求积分学号XX班级XX姓名XX指导教师易昆南实验题目用复化梯形法求积分评分1、设计(实习)目的:1.进一步了解梯形法及其应用2.进一步理解复化梯形法求积分的思想2、实验内容:用复化梯形法求函数xxxxf23)(的积分3.详细设计:functionTn=comtr(a,b,n)y=inline('x.^3+x.^2+x','x');h=(b-a)/n;fork=0:nx(k+1)=a+k*h;ifx(k+1)==0x(k+1)=10^(-10);endendT1=h/2*(y(x(1))+y(x(n+1)));fori=2:nF(i)=h*y(x(i));endT2=sum(F);Tn=T1+T2;4:实验结果:在命令窗口输入Tn=comtr(0,1,10),得到如下结果:Tn=1.08755:实验总结本次实验是对于用梯形法求函数积分的进一步深入应用,让们进一步了解复化梯形法的含义和怎样用它求函数积分,让我了解梯形法和复化梯形法的不同之处,也让我对于梯形法求积分有了进一步深入了解和认识。姓名:XX2012年4月3日13五.用复化辛普森法、复化辛普森变步长法求积分学号XX班级XX姓名XX指导教师易昆南实验题目用复化辛普森法、复化辛普森变步长法求积分评分1、设计(实习)目的:1.进一步辛普森法及其应用2.进一步理解辛普森法求积分的思想2、实验内容:用复化辛普森法、复化辛普森变步长法求函数xxxxf23)(积分3.详细设计:一、复化辛普森法:functionSn=comsim(a,b,n)y=inline('x.^3+x.^2+x','x');h=(b-a)/n;fork=0:n;x(k+1)=a+k*h;x_k(k+1)=x(k+1)+1/2*h;if(x(k+1)==0)|(x_k(k+1)==0)x(k+1)=10^(-10);x_k(k+1)=10^(-10);endendS1=h/6*(y(x(1))+y(x(n+1)));fori=2:nF1(i)=h/3*y(x(i));endforj=1:nF2(j)=2*h/3*y(x_k(j));endS2=sum(F1)+sum(F2);Sn=S1+S2;二、复化辛普森变步长法:function[Q,cnt]=quad(funfcn,a,b,tol,trace)%funfcn用内置函数输入ifnargin4,tol=1.e-3;trace=0;endifnargin5,trace=0;endc=(a+b)/2;x=[abca:(b-a)/10:b];y=feval(funfcn,x);fa=y(1);fb=y(2);14fc=y(3);iftracelims=[min(x)max(x)min(y)max(y)];ifany(imag(y))lims(3)=min(min(real(y)),min(imag(y)));lims(4)=max(max(real(y)),max(imag(y)));endind=fin
本文标题:中南大学数值分析作业完整版~
链接地址:https://www.777doc.com/doc-5081036 .html