数值分析试验一_第1页
数值分析试验一_第2页
数值分析试验一_第3页
数值分析试验一_第4页
数值分析试验一_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

数值分析第一次实验报告 姓名: 学号:实验1: 1. 实验项目的性质和任务通过上机实验,使学生对病态问题、线性方程组求解和函数的数值逼近方法有一个初步理解。2教学内容和要求 1)对高阶多多项式 编程求下面方程的解 并绘图演示方程的解与扰动量的关系。(实验2.6) 2)对,生成对应的Hilbert矩阵,计算矩阵的条件数;通过先确定解获得常向量b的方法,确定方程组 最后,用矩阵分解方法求解方程组,并分析计算结果。(第三章,实验题4)3)对函数 的Chebyshev点 编程进行Lagrange插值,并分析插值结果。(第四章 实验1)项目涉及核心知识点 病态方程求解、矩阵分解和方程组求解、Lagrange插值。重点与难点 算法设计和matlab编程。1)a实验方案: 先创建一个20*50的零矩阵X,然后利用Matlab中的roots()和poly()函数将50个不同的ess扰动值所产生的50个解向量分别存入X矩阵中。然后再将ess向量分别和X的20个行向量绘图。即可直观的看出充分小的扰动值会产生非常大的偏差。即证明了这个问题的病态性。b编写程序: X=zeros(20,50); ve=zeros(1,21); ess=linspace(0,0.00001,50);k=1; while k m=1; while m n=2; A=zeros(20,20); while n AA = 1.0e+003 * Columns 1 through 10 0 0 0 0 0 0 0 0 0 0 -0.0000 0.0000 0 0 0 0 0 0 0 0 -0.0000 0.0000 -0.0000 0 0 0 0 0 0 0 -0.0000 0.0000 -0.0000 0.0000 0 0 0 0 0 0 0.0000 -0.0000 0.0000 -0.0000 0.0000 0 0 0 0 0 0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0 0 0 0 0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000 0 0 0 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000 0 0 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0001 -0.0003 0.0006 -0.0007 0.0005 0.0000 -0.0000 0.0000 -0.0001 0.0005 -0.0027 0.0096 -0.0223 0.0348 -0.0361 0.0000 -0.0000 0.0000 -0.0004 0.0030 -0.0098 0.0080 0.0593 -0.2570 0.5154 0.0000 -0.0000 0.0000 -0.0001 0.0005 -0.0029 0.0095 -0.0171 0.0086 0.0347 0.0000 -0.0000 0.0000 -0.0000 0.0003 -0.0016 0.0059 -0.0133 0.0145 0.0094 0.0000 -0.0000 0.0000 -0.0001 0.0009 -0.0042 0.0118 -0.0182 0.0082 0.0185 0.0000 0.0000 -0.0000 0.0002 -0.0027 0.0187 -0.0762 0.1806 -0.2249 0.0813 0.0000 0.0000 -0.0000 0.0001 -0.0017 0.0120 -0.0497 0.1224 -0.1699 0.1064 0.0000 -0.0000 0.0000 -0.0003 0.0028 -0.0137 0.0371 -0.0464 -0.0164 0.1243 Columns 11 through 20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.0000 0 0 0 0 0 0 0 0 0 -0.0002 0.0000 0 0 0 0 0 0 0 0 0.0238 -0.0091 0.0015 0 0 0 0 0 0 0 -0.6091 0.4336 -0.1727 0.0296 0 0 0 0 0 0 -0.0944 0.1170 -0.0824 0.0318 -0.0053 0 0 0 0 0 -0.0624 0.1107 -0.1110 0.0674 -0.0232 0.0035 0 0 0 0 -0.0289 0.0059 0.0103 0.0082 -0.0263 0.0181 -0.0042 0 0 0 0.0524 0.1690 -0.3743 -0.1862 1.0944 -1.2171 0.6004 -0.1156 0 0 -0.0327 0.1652 -0.3051 -0.0485 0.7195 -0.9387 0.5714 -0.1699 0.0191 0 -0.1120 -0.0421 0.0883 0.0222 -0.0628 0.1013 -0.2902 0.3783 -0.2173 0.0469C实验结果分析和拓展:当Hilbert矩阵的阶数比较小时,其解X和给定解x偏差不大;但当Hilbert矩阵的阶数变大时,偏差就会变大。这就说明了Hilbert矩阵是一组病态矩阵,从Matlab运行中的Warning可以看出,其条件数相当大。d实验结论:Hilbert矩阵是一组病态矩阵,用它来做线性方程的系数矩阵时,往往会得出与精确解相差较大的解。3)a实验方案:在区间【-1,1】上取点,先按Chebyshev取点,即xk=cos(2k-1)pi/2/(n+1)取点,然后再进行拉格朗日插值,绘出图和插值点。而后再进行均匀取点再拉格朗日插值。将两种插值结果进行比较。b编程实现:for a=1:10 b=a+1; for c=1:b X(c)=cos(2*c-1)*pi/2/(a+1); Y(c)=1/(1+25*X(c)2); x=-1:0.05:1; end m=length(x); for i=1:m z=x(i);s=0; for k=1:b L=1; for j=1:b if j=k L=L*(z-X(j)/(X(k)-X(j); end end s=s+L*Y(k); end y(i)=s; end figure(1)plot(x,y,r);hold on;figure(2)plot(X,Y,b*)hold onendfor a=2:2:10 b=a+1; X=linspace(-1,1,b); Y=1./(1+25*X.2); x=-1:0.05:1; m=length(x); for i=1:m z=x(i);s=0; for k=1:b L=1; for j=1:b if j=k L=L*(z-X(j)/(X(k)-X(j); end end s=s+L*Y(k); end y(i)=s; end figure(1)plot(x,y,r);hold on;figure(2)plot(X,Y,b*)hold onendC实验结果分析及拓展:均匀插值时,当n比较大时,就会出现

温馨提示

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

最新文档

评论

0/150

提交评论