资源描述:
《数值计算方法实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数值计算方法实验报告实验类别:数值计算方法专业:班级:学号:姓名:XX大学XX学院7实验一、高斯列主元消去法【实验类型】设计性【实验学时】2学时【实验内容】1.掌握列主元消去法的基本思路和迭代步骤2.并能够利用列主元的高斯消去法解任意阶数的线性方程组;【实验前的预备知识】1.计算机基础知识;2.熟悉编程基本思想;3.熟悉常见数学函数;【实验方法或步骤】1.列主元消去法基本思路设有线性方程组,设是可逆矩阵。列主元消去法的基本思想就是通过列主元的选取将初等行变换作用于方程组的增广矩阵,将其中的变换成一个上三角矩阵,然后求解这个三角形方程组。2.列主元高斯消去法算法描
2、述将方程组用增广矩阵表示。步骤1:消元过程,对(1)选主元,找使得(2)如果,则矩阵奇异,程序结束;否则执行(3);(3)如果,则交换第行与第行对应元素位置,,;(4)消元,对,计算对,计算步骤2:回代过程:7(1)若则矩阵奇异,程序结束;否则执行(2);(2)对,计算[实验内容]在课后习题中选择一个求解线性方程组的题编程计算。(例3.2.3课本P40页)(1)[实验程序]使用matlab编程求解列主元消去法列主元函数程序:function[RA,RB,n,X]=liezhu(A,b)B=[Ab];n=length(b);RA=rank(A);RB=rank(B
3、);zhica=RB-RA;ifzhica>0,disp('请注意:因为RA~=RB,所以此方程组无解.')returnendifRA==RBifRA==ndisp('请注意:因为RA=RB=n,所以此方程组有唯一解.')X=zeros(n,1);C=zeros(1,n+1);forp=1:n-1[Y,j]=max(abs(B(p:n,p)));C=B(p,:);B(p,:)=B(j+p-1,:);B(j+p-1,:)=C;fork=p+1:nm=B(k,p)/B(p,p);B(k,p:n+1)=B(k,p:n+1)-m*B(p,p:n+1);endendb=B
4、(1:n,n+1);A=B(1:n,1:n);X(n)=b(n)/A(n,n);forq=n-1:-1:1X(q)=(b(q)-sum(A(q,q+1:n)*X(q+1:n)))/A(q,q);endelsedisp('请注意:因为RA=RB>clear;A=[12-33;-183-1;111];b=[15;-15;6;];>>[RA,RB,n,X]=liezhu(A,b)[实验结果]运行结果请注意:因为RA=RB=n,所以此方程组有唯一解.RA=3RB=3n=3X=1.0000
5、2.00003.0000:实验二最小二乘法【实验类型】设计性【实验学时】2学时【实验内容】1.曲线拟合的最小二乘法的基本思路和拟合步骤2.能根据给定的函数值表构造出次数不相同的拟合多项式。【实验前的预备知识】1.计算机基础知识;2.熟悉编程基本思想;3.熟悉常见数学函数;【实验方法或步骤】1.最小二乘法的基本思路7已知数据对,求多项式使得为最小,这就是一个最小二乘问题。1.最小二乘法算法描述:用线性函数为例,拟合给定数据。步骤1:输入值,及;步骤2:建立正规方程组步骤3:解法方程组,求出系数;步骤4:输出。[实验内容]有如下数据,试用二项式逼近这组数据(P133
6、页课后习题5.17)13456789102781011111098[实验程序]使用matlab进行作图然后进行拟合程序:x=[1345678910];y=[2781011111098];h=polyfit(x,y,2);xt=linspace(min(x),max(x));yt=polyval(h,xt);figure;holdon;boxon;plot(xt,yt,'k-');7plot(x,y,'ro');str=sprintf('y=%.6fx^2+%.6fx+%.6f',...h(1),h(2),h(3));title(str,'FontWeight',
7、'Bold');disp(str)[实验结果]matlab拟合的二次曲线图像及二次多项式:故得二次多项式的表达式为:y=-0.267571x^2+3.605309x+-1.459664实验三龙贝格方法【实验类型】设计性【实验学时】2学时【实验内容】1.理解龙贝格方法的基本思路2.用龙贝格方法设计算法,编程求解一个数值积分的问题。【实验前的预备知识】1.计算机基础知识;72.熟悉编程基本思想;3.熟悉常见数学函数;【实验方法或步骤】[实验方法]1、龙贝格方法的基本思路龙贝格方法是在积分区间逐次二分的过程中,通过对梯形之值进行加速处理,从而获得高精度的积分值。2、龙
8、贝格方法的算法步骤1准备