MATLAB(第四章和第八章).doc_第1页
MATLAB(第四章和第八章).doc_第2页
MATLAB(第四章和第八章).doc_第3页
MATLAB(第四章和第八章).doc_第4页
MATLAB(第四章和第八章).doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章 线性代数问题的计算机求解一、实验内容:题目1.Jordan矩阵是矩阵分析中一类很实用的矩阵,其一般形式为J= ,例如J1= 试利用diag()函数给出构造J1的语句。【分析】该题为对角矩阵的问题。对J要利用diag()能够构造对角矩阵和次对角矩阵的性质。J1只需对角矩阵和次对角矩阵相加即可。这里需要对diag()函数的调用。如A=diag(V)-已知向量生成对角矩阵,A=diag(V,k)生成主对角线上第k条对角线为V的矩阵(其中k可为正负)【解答】:输入如下语句:J1=diag(-5 -5 -5 -5 -5)+diag(1 1 1 1,1)按ENTER键,显示如下:J1=-5 1 0 0 0 0 -5 1 0 0 0 0 -5 1 00 0 0 -5 10 0 0 0 -5题目5.试求出Vandermonde矩阵A=,的行列式,并以最简的形式显示结果。【求解】该问题有两个知识点。一个构造是Vandermonde矩阵,另一个是求矩阵的行列式。前者可以利用书中编写的面向符号矩阵的vander()函数构造出Vandermonde矩阵。需要用到V=vander(C)来调用。后者可以用MATLAB的det()函数来求解,他会自动采用解析解法求出其行列式的值。需要注意运用det()的前提是符号矩阵,本题中A已是符号矩阵,所以不用转换。最后,用simple()函数简化一下即可。【解答】:(1)构造矩阵:输入如下语句:syms a b c d e; A=vander(a b c d e)按ENTER键,显示如下:A= a4, a3, a2, a, 1 b4, b3, b2, b, 1 c4, c3, c2, c, 1 d4, d3, d2, d, 1 e4, e3, e2, e, 1(2)以最简单的形式输出行列式:输入如下语句:det(A),simple(ans)按ENTER键,显示如下:ans=(c-d)*(b-d)*(b-c)*(a-d)*(a-c)*(a-b)*(-d+e)*(e-c)*(e-b)*(e-a)15. 试求出线性代数方程组X =,并验证解的正确性【分析】:该题为线性方程的计算机求解问题。 需要考虑的是X=B*A-1,在MATLAB中,需要调用inv(A)*B函数,来得出方程的解。同时需要用到逆运算。【解答】:(1)输入如下语句: A=7,6,9,7;7,1,3,2;2,1,5,5;6,4,2,6;B=2,1,0,1;0,3,1,2;A=A,B=B; x=inv(A)*B,e1=norm(A*x-B),x1=inv(sym(A)*B,e2=norm(double(A*x1-B)语句运行后,显示如下:x = -0.0057 0.4511 0.1034 -0.6207 -0.1609 -0.3678 0.2730 0.3204e1 = 1.5879e-015x1 = -1/174, 157/348 3/29, -18/29 -14/87, -32/87 95/348, 223/696e2 = 0(2)对X进行逆运算,输入以下语句: x1=x1; x1*A语句运行后,显示如下:ans = 2, 1, 0, 1 0, 3, 1, 2二、实验心得这次是第三次上高等应用数学问题的MATLAB求解课程。通过老师上课的细心讲解与演示,我对MATLAB又有了更深的了解。原来MATLAB在线性代数问题矩阵问题中也可以用的如此灵活简便。同时我还学到了很多MATLAB的应用。首先是矩阵的输入,我学会了如何用简单的函数语句直接输入零矩阵,幺矩阵,随机元素矩阵,对角元素矩阵,Hankel矩阵,伴随矩阵等。其调用的语句虽然看似简单,但还是要注意细节。就拿对角元素矩阵说,调用语句A=diag(V,k)是生成主对角线上第k条对角线为V的矩阵,这里要深刻理解k的含义,他可正可负,是对角线上第k条对角线。同时我们还要灵活掌握向量与矩阵的两两转化,不是只掌握一个就可以了。我还学到了矩阵分析的基本概念及求解函数,比如如何做出行列式,迹,秩,范数,特征多项式,逆矩阵,广义逆矩阵,特征值与特征向量等。以行列式为例,我会运用简单的d=det(A)函数来调用,直接求行列式。但是要注意细节的是我们练习的题目中,是Hilbert矩阵,我们要用sym()函数把他符号化,再用det()调用。所以不符号化的话,就会遇到运行错误的问题。我还会运用了矩阵的基本变换,知道了矩阵的正交分解,三角分解,对称矩阵的Cholesky分解,一半矩阵的伴随分解,Jordan变换等。我了解了线性代数方程对唯一解、无穷解、无解等问题的处理,矩阵方程的据算机求解等。就拿线性方程组的计算机求解来说,已AX=B为例,其实很简单,只要输入A,B矩阵,再运用X=inv(A)*B函数就可以编写出了。第八章 数据插值、函数逼近问题的计算机求解一、实验内容:1 用生成一组较稀疏的数据,并用一维数据插值的方法对给出的数据进行曲线拟合,并将结果与理论曲线相比较。【分析】:该题为一维差值问题。该题可以利用函数interp1(),其调用格式为y=interp1(x,y,x1,f方法)。插值方法有很多,一般默认为可以选择linear线性插值,nearest对近点等值方法,cubic三次Hermite插值spline 三次分段样条插值。本题运用最精确的三次分段样条插值进行求解,并用理论曲线与拟合的直线共同显示在一起进行比较。【解答】: (1) 根据所给函数用MATLAB生成较稀疏的数据,输入如下语句:t=0:0.2:2;y=t.2.*exp(-5*t).*sin(t);plot(t,y,o)显示图片如下:(2) 调用一维插值函数interp1(),并用最精确的插样方法spline(三次分段样条插值)。输入如下语句:ezplot(t.2.*exp(-5*t).*sin(t),0,2); hold onx1=0:0.01:2; y1=interp1(t,y,x1,spline);plot(x1,y1,g)如图所示,曲线拟合与原曲线完全一样。还可以用四种方式求解,输入如下数据: t1=0:0.02:1;y0=t1.2.*exp(-5*t1).*sin(t1);y1=interp1(t,y,t1);y2=interp1(t,y,t1,nearest);t1=0:0.02:1;y0=t1.2.*exp(-5*t1).*sin(t1);y1=interp1(t,y,t1);y2=interp1(t,y,t1,cubic);y3=interp1(t,y,t1,spline);y4=interp1(t,y,t1,nearest);plot(t1,y1,y2,y3,y4,:,t,y,o,t1,y0)e1=max(abs(y0(1:49)-y2(1:49),e2=max(abs(y0-y3),e3=max(abs(y0-y4)按ENTER键,输出如下:e1 = 1.4195e-004e2 = 1.0990e-004e3 =0.0018并显示图片:比较e,由结果可知三次分段样条插值的精确度最好。2 用在(0; 3) 区间内生成一组较稀疏的数据,并用一维数据插值的方法对给出的数据进行曲线拟合,并将结果与理论曲线相比较【分析】:该题目和第一题一样,同样先生成数据,然后再用spline(三次分段样条插值)函数进行拟合。该问题需要考虑步长的取值,步长的大小取决了其精确度。【解答】:(1) 用MATLAB生成一组较稀疏的数据,输入如下语句:0:0.2:3;y=sin(10*t.2+3); plot(t,y,o)图片显示如下:(2)画出理论曲线,拟合一维数据插值,进行比较,输入如下语句:ezplot(sin(10*t2+3),0,3)plot(t,y,r)ezplot(sin(10*t2+3),0,3); hold onx1=0:0.001:3; y1=interp1(t,y,x1,spline);plot(x1,y1,r)由图可知拟合的曲面一开始与原函数吻合的很好,但是却到后面越来越偏离,所以需要再减小样本点的步长,输入如下语句: t=0:0.1:1,1.1:0.01:3; y=sin(10*t.2+3); plot(t,y,o)ezplot(sin(10*t2+3),0,3); hold onx1=0:0.001:3; y1=interp1(t,y,x1,spline);plot(x1,y1,r)显示图片如下:即与原函数完全吻合。该题还可以用四种插值方法进行求解,输入如下数据: t1=0:0.01:3; y0=sin(10.*(t1.2)+3); y1=interp1(t,y,t1); y2=interp1(t,y,t1,cubic); y3=interp1(t,y,t1,spline); y4=interp1(t,y,t1,nearest); plot(t1,y1,y2,y3,y4,:,t,y,o,t1,y0) e1=max(abs(y0(1:49)-y2(1:49),e2=max(abs(y0-y3),e3=max(abs(y0-y4)按ENTER键,显示如下:e1 = 0.0023e2 = 0.0282e3 =0.5748由图可知比较并比较e,由结果可知三次分段样条插值的精确度最好。题目三:用原型函数生成一组网格数据或随机数据,分别拟合出曲面,并和原曲面进行比较。【分析】:该题考了两个方法。一个是生成一组网格数据,拟合曲面。另一个是生成随机数据,拟合曲面。前者应先绘制已知数据的网格图,再采用spline拟合曲面,最后要对比插值结果和新网格下的函数值精确解,绘制出绝对插值误差曲面。后者应先选择随机分布的样本点,绘制出已知数据点的分布和已知数据点的三维分布图。然后对产生的三维曲面数据进行v算法差值,最后用abs()与原曲面进行比较,进行误差分析.【解答】:(1)形成网格数据:绘制已知数据的网格图,输入如下语句:x,y=meshgrid(0.2:0.2:2);z=exp(-x.2-y.4).*sin(x.*y.2+x.2.*y)./(3*x.3+y);surf(x,y,z)按ENTER键,图片显示如下:采用三次分段样条插值方法,输入如下语句: x1,y1=meshgrid(0.2:0.02:2);z1=interp2(x,y,z,x1,y1,spline);surf(x1,y1,z1)按ENTER键,图片显示如下:对三次样条插值方法进行误差分析,对比插值结果和新网格下的函数值精确解,可以绘制出绝对插值误差曲面,如输入如下语句: z0=exp(-x1.2-y1.4).*sin(x1.*y1.2+x1.2.*y1)./(3*x1.3+y1);surf(x1,y1,abs(z1-z0)按ENTER键,图片显示如下:由图可知,三次样条插值方法拟合的较为精确。(2) 形成随即数据:选择随机分布的样本点,输入如下语句: x=0.2+1.8*rand(400,1); y=0.2+1.8*rand(400,1);z=exp(-x.2-y.4).*sin(x.*y.2+x.2.*y)./(3*x.3+y);plot(x,y,.)figure, plot3(x,y,z,v)显示已知数据点的分布,已知数据点的三维分布图片如下:(数据点分布)(数据点三维分布)对产生的三维曲面数据进行v算法差值,输入如下语句:x1,y1=meshgrid(0.3:0.02:1.9);z1=griddata(x,y,z,x1,y1,v4);surf(x1,y1,z1)按ENTER键,图片显示如下:与原曲面进行比较,进行误差分析,输入如下语句: z0=exp(-x1.2-y1.4).*sin(x1.*y1.2+x1.2.*y1)./(3*x1.3+y1);surf(x1,y1,abs(z1-z0)由图可知该方法的拟合结果较为精确。但是边界值还是存在较大误差。题目四:假设已知一组数据,试用插值方法绘制出x 2 (2; 4:9) 区间内的光滑函数曲线,比较各种插值算法的优劣。xiyi-20.10289-1.70.11741-1.40.1318-1.10.14483-0.80.15656-0.50.16622-0.20.173320.10.17750.40.178530.70.1763510.171091.30.16302xiyi1.6 0.152551.90.14022.20.126552.50.112192.80.097683.10.083533.40.070153.70.057864 0.046874.30.037294.60.029144.900.02236【分析】:该题可以利用linear线性插值,nearest对近点等值方法,cubic三次Hermite插值spline 三次分段样条插值这四种方法本题进行求解,并用理论曲线与拟合的直线共同显示在一起进行比较。同时计算精确度,比较e的大小即可。【解答】:输入如下语句,进行四种方法的求解: x=-2,-1.7,-1.4,-1.1,-0.8,-0.5,-0.2,0.1,0.4,0.7,1,1.3,.1.6,1.9,2.2,2.5,2.8,3.1,3.4,3.7,4,4.3,4.6,4.9;y=0.10289,0.11741,0.13158,0.14483,0.15656,0.16622,0.17332,.0.1775,0.17853,0.17635,0.17109,0.16302,0.15255,0.1402,.0.12655,0.11219,0.09768,0.08353,0.07019,0.05786,0.04687,.0.03729,0.02914,0.02236; x1=-2:0.02:4.9; plot(x,y,x,y,o)y1=interp1(x,y,x1);y2=interp1(x,y,x1,cubic);y3=interp1(x,y,x1,spline);y4=interp1(x,y,x1,nearest);plot(x1,y1,y2,y3,y4,:,x,y,o,x,y)显示图片如下:输入如下数据,比较精确度: e1=max(abs(y0(1:49)-y2(1:49),e2=max(abs(y0-y3),e3=max(abs(y0-y4)显示如下:e1 = 0.0039e2 = 0.0274e3 =0.5479由图可知三次分段样条插值的吻合度最好。比较e的大小,三次分段样条插值的e值最小。题目五:假设已知实测数据由下表给出,试对(x; y) 在(0:1; 0:1) ,(1:1; 1:1) 区域内的点进行插值,并用三维曲面的方式绘制出插值结果【分析】:该题应采用最精确的三次分段样条插值方法spline进行拟合,然后可以利用axis(0.1,1.1,0.1,1.1,min(),max()函数进行制图。若该题不考虑插值数值,则可以直接采用MATLAB 下的shadinginterp 命令来实现。【解答】:(1)直接采用最精确的三次分段样条插值方法,得出插值曲面输入如下语句:x,y=meshgrid(0.1:0.1:1.1);z=0.83041,0.82727,0.82406,0.82098,0.81824,0.8161,0.81481,0.81463,0.81579,0.81853,0.82304;0.83172,0.83249,0.83584,0.84201,0.85125,0.86376,0.87975,0.89935,0.92263,0.94959,0.9801;0.83587,0.84345,0.85631,0.87466,0.89867,0.9284,0.96377,1.0045,1.0502,1.1,1.1529;0.84286,0.86013,0.88537,0.91865,0.95985,1.0086,1.0642,1.1253,1.1904,1.257,1.3222;0.85268,0.88251,0.92286,0.97346,1.0336,1.1019,1.1764,1.254,1.3308,1.4017,1.4605;0.86532,0.91049,0.96847,1.0383,1.118,1.2046,1.2937,1.3793,1.4539,1.5086,1.5335;0.88078,0.94396,1.0217,1.1118,1.2102,1.311,1.4063,1.4859,1.5377,1.5484,1.5052;0.89904,0.98276,1.082,1.1922,1.3061,1.4138,1.5021,1.5555,1.5573,1.4915,1.346;0.92006,1.0266,1.1482,1.2768,1.4005,1.5034,1.5661,1.5678,1.4889,1.3156,1.0454;0.94381,1.0752,1.2191,1.3624,1.4866,1.5684,1.5821,1.5032,1.315,1.0155,0.62477;0.97023,1.1279,1.2929,1.4448,1.5564,1.5964,1.5341,1.3473,1.0321,0.61268,0.14763;x1,y1=meshgrid(0.1:0.02:1.1);z1=interp2(x,y,z,x1,y1,spline);surf(x1,y1,z1)axis(0.1,1.1,0.1,1.1,min(z1(:),max(z1(:)绘制三维曲面如下显示:(2)该题还可以用MATLAB 下的shadinginterp 命令来实现,输入如下语句: surf(x,y,z); shading interp按ENTER键,显示图片如下:由图可知,该插值曲面更光滑,这样的插值方法更好,但是该方法没有像样条差值一样能很好地吻合数据点。题目九:已知如下的样本点(xi; yi) 数据,试对其进行分段三次多项式样条插值。xi12345678910yi244.0221.0208.0208.0211.5216.0219.0221.0221.5220.0【分析】: 该题为对已知数据点进行三次多项式样条差值。在MATLAB中可以利用csapi()函数来定义,其调用格式为S=csapi(x,y)。其中X=X1,X2,Xn,Y=Y1,Y2,Yn.样条函数对象的插值结果可以用fnplt()绘制出来。其条用格式为fnplt(S), Y=fnplt(S,xp).【解答】:对样本点进行三次多项式样条差值,输入如下语句:x=1:10;y=244.0,221.0,208.0,208.0,211.5,216.0,219.0,221.0,221.5,220.0;S=csapi(x,y);S.coefs按ENTER键,显示差值多项式如下:ans =1.0e+002 *0.01144795602886 0.01565613191343 -0.25710408794229 2.440000000000000.01144795602886 0.05000000000000 -0.19144795602886 2.21000000000000-0.02723978014428 0.08434386808657 -0.05710408794229 2.080000000000000.00251116454827 0.00262452765373 0.02986430779801 2.08000000000000-0.00780487804878 0.01015802129852 0.04264685675026 2.115000000000000.00370834764686 -0.01325661284782 0.03954826520096 2.16000000000000-0.00202851253865 -0.00213156990725 0.02416008244589 2.19000000000000-0.00059429749227 -0.00821710752319 0.01381140501546 2.21000000000000-0.00059429749227 -0.01000000000000 -0.00440570250773 2.21500000000000绘制效果图,输入如下语句: fnplt(S); hold on; plot(x,y,o)按ENTER键,显示如下:题目十五:假设习题5 中数据的原型函数为试用最小二乘方法识别出a, b;,c, d, e 的数值。【分析】:该题为最小二乘曲线拟合问题。该题首先应输入一直参数,求解a,b,c,d,e的值。然后再绘制拟合的曲线图。【解答】:(1)用最小二乘的方法求出a,b,c,d,e的值,输入如下语句:x,y=meshgrid(0.1:0.1:1.1);z=0.83041,0.82727,0.82406,0.82098,0.81824,0.8161,0.81481,0.81463,0.81579,0.81853,0.82304;0.83172,0.83249,0.83584,0.84201,0.85125,0.86376,0.87975,0.89935,0.92263,0.94959,0.9801;0.83587,0.84345,0.85631,0.87466,0.89867,0.9284,0.96377,1.0045,1.0502,1.1,1.1529;0.84286,0.86013,0.88537,0.91865,0.95985,1.0086,1.0642,1.1253,1.1904,1.257,1.3222;0.85268,0.88251,0.92286,0.97346,1.0336,1.1019,1.1764,1.254,1.3308,1.4017,1.4605;0.86532,0.91049,0.96847,1.0383,1.118,1.2046,1.2937,1.3793,1.4539,1.5086,1.5335;0.88078,0.94396,1.0217,1.1118,1.2102,1.311,1.4063,1.4859,1.5377,1.5484,1.5052;0.89904,0.98276,1.082,1.1922,1.3061,1.4138,1.5021,1.5555,1.55

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论