您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 基于MATLAB数值分析实验报告
基于MATLAB数值分析实验报告班级:072115姓名:李凯学号:20111003943实验二:矩阵与向量运算实验目的:在MATLAB里,会对矩阵与向量进行加、减、数乘、求逆及矩阵特征值运算,以及矩阵的LU分解。设A是一个n×n方阵,X是一个n维向量,乘积Y=AX可以看作是n维空间变换。如果能够找到一个标量λ,使得存在一个非零向量X,满足:AX=λX(3.1)则可以认为线性变换T(X)=AX将X映射为λX,此时,称X是对应于特征值λ的特征向量。改写式(3.1)可以得到线性方程组的标准形式:(A-λI)X=0(3.2)式(3.2)表示矩阵(A-λI)和非零向量X的乘积是零向量,式(3.2)有非零解的充分必要条件是矩阵(A-λI)是奇异的,即:det(A-λI)=0该行列式可以表示为如下形式:a11–λa12…a1na21a22–λ…a2n=0(3.3)…………An1an2…ann将式(3.3)中的行列式展开后,可以得到一个n阶多项式,称为特征多项式:f(λ)=det(A-λI)=(-1)n(λn+c1λn-1+c2λn-2+…+cn-1λ+cn)(3.4)n阶多项式一共有n个根(可以有重根),将每个根λ带入式(3.2),可以得到一个非零解向量。习题:求下列矩阵的特征多项式的系数和特征值λj:3-10A=-12-10-13解:在MATLAB中输入命令:A=【3-10;-12-1;0-13】;c=poly(A)roots(c)得到:实验四:Lagrange插值多项式实验目的:理解Lagrange插值多项式的基本概念,熟悉Lagrange插值多项式的公式源代码,并能根据所给条件求出Lagrange插值多项式,理解龙格现象。%功能:对一组数据做Lagrange插值%调用格式:yi=Lagran_(x,y,xi)%x,y:数组形式的数据表%xi:待计算y值的横坐标数组%yi:用Lagrange还擦之算出y值数组functionfi=Lagran_(x,f,xi)fi=zeros(size(xi));np1=length(f);fori=1:np1z=ones(size(xi));forj=i:np1ifi~=j,z=z.*(xi-x(j))/(x(i)-x(j));endendfi=fi+z*f(i);endreturn习题:已知4对数据(1.6,3.3),(2.7,1.22),(3.9,5.61),(5.6,2.94)。写出这四个数据点的Lagrange插值公式,并计算出横坐标xi=【2.101,4.234】时对应的纵坐标。解:4个数据点的Lagrange插值公式为:L3(x)=3.3*(x-2.7)*(x-3.9)*(x-5.6)/(1.6-2.7)*(1.6-3.9)*(1.6-5.6)+4.22*(x-1.6)*(x-3.9)*(x-5.6)/(2.7-1.6)*(2.7-3.9)*(2.7-5.6)+3.9*(x-1.6)*(x-2.7)*(x-5.6)/(3.9-1.6)*(3.9-2.7)*(3.9-5.6)+2.94*(x-1.6)*(x-2.7)*(x-3.9)/(5.6-1.6)*(5.6-2.7)*(5.6-3.9)清单:Clearx=[1.6,2.7,3.9,5.6];y=[3.3,1.22,5.61,2.94];xi=[2.101,4.234];yi=Lagran_(x,y,xi);xx=1.5:0.05:6.5;yy=Lagran_(x,y,xx);plot(xx,yy,x,y,’o’)结果如下:yi=1.05966.6457实验六:牛顿插值多项式实验目的:掌握牛顿插值多项式公式,会用牛顿插值多项式公式,明确牛顿插值多项式与拉格朗日插值公式的区别。定理:已知n+1个节点x0,x1,…,xn,(a≤x0<x1<…<xn≤b)及节点对应的函数值f(x0),f(x1),…,f(xn)。则唯一存在一个n次多项式Nn(x),具有性质:Nn(xj)=f(xj)=yjj=0,1,2,…,n该多项式形式为:Nn(x)=f(x0)+f[x0,x1](x-x0)+…+f[x0,x1,…,xn](x-x0)(x-x1)…(x-xn-1)插值余项R(x)为:R(x)=f(x)-Nn(x)=f[x,x0,x1,x2,…,xn]wn+1(x)。其中,f[x0,x1]=(f(x1)-f(x0))/(x1-x0),f[x0,x1,x2]=(f[x1,x2]-f[x0,x1])/(x2-x1)…,f[x0,x1,…,xn]=(f[x1,…,xn]-f[x0,x1,…,xn-1])/(xn-xn-1)。牛顿插值多项式公式的优点是具有承袭性,当给出了n+1点坐标,求出Nn(x)表达式后,再给出一个点坐标(xn+2,yn+2),则有插值公式:Nn+1(x)=Nn(x)+f[x0,x1,…,xn,xn+1](x-x0)(x-x1)…(x-xn-1)(x-xn)。牛顿插值源代码:function[C,D]=newpoly(X,Y)%输入:X为节点的向量;Y为节点对应的函数值向量%输出:C是牛顿插值多项式系数向量;D是计算差商的矩阵N=length(X);%节点的个数D=zeros(n,n)%n×n维零矩阵D(:1)=Y’%D的第一行Y(节点都应的函数值向量)forj=2:nfork=j:nD(k,j)=(D(k,j-1)-D(k-1,j-1))/(X(k)-X(k-j+1));%计算商endendC=D(n,n);fork=(n-1):-1:1C=conv(C,poly(X(k))%计算插值多项式的系数m=length(C);C=C(m)+D(k,k);end习题:将区间【-5,5】等分5份、10份,求函数y=1/(1+x2)的牛顿插值多项式,作出函数y=1/(1+x2)的原图像,观察龙格现象得出什么结果?解:将区间【-5,5】等分成5份,用MATLAB计算。输入clear,clf,holdonX=-5:2:5;Y=1./(1+X.^2);[C,D]=newpoly(X,Y)x=-5,0.01,5;y=polyval(C,x);plot(x,y,X,Y,’.’)gridonxp=-5,:0,05:5;z=1./(1+xp.^2);plot(xp,z,’r’)出现错误如下:此实验无法完成。实验八:最小二乘拟合曲线实验目的:明确曲线拟合的含义,会求数据的曲线拟合。在科学工程试验中,经常需要从试验数据中寻找拟合曲线。曲线拟合是指函数g(x)拟合给定的节点(xi,yj),i=1,2,…,n,通常所拟合的节点数n必须大于未知数个数k。确定函数g(x)参数,使得拟合函数与节点的偏差最小,这种方法称为最小二乘法。当n=k时,由于拟合曲线通过所用节点,可使问题得到简化。1.数据的线性拟合已知(xi,yj),i=1,2,…,n,最小二乘法拟合曲线:y=Ax+B的系数是下列线性方程的解,(nkkx12)A+(nkkx1)B=nkkkyx1(nkkx1)A+nB=nkky1习题:给定一组数据点(-1,10),(0,9),(1,7),(2,5),(3,4),(4,3),(5,0),(6,-1),求其最小二乘拟合曲线。解:(1)在MATLAB中作散点图。输入数据点并作图:x=[-10123456];y=[10975430-1];plot(x,y,’.’)得到由上述散点图可知x,y近似成线性关系y=Ax+B,这里的A与B是待定常数。(2)求解方程组:(812kkx)A+(81kkx)B=81kkkyx(81kkx)A+nB=81kky(3)程序:X=[-10123456];Y=[10975430-1];Xmean=mean(X)Ymean=mean(Y)sumx2=(X-xmean)*(X-xmean)’;Sumxy=(Y-ymean)*(X-xmean)’;A=sumxy/sums2B=ymean-A*xmeanx=-1:0.1:7;y=A*x+B;Plot(X,Y,’.’,x,y,’r’)gridon得最小二乘拟合曲线:
本文标题:基于MATLAB数值分析实验报告
链接地址:https://www.777doc.com/doc-4242558 .html