MATLAB数值分析实例_第1页
MATLAB数值分析实例_第2页
MATLAB数值分析实例_第3页
MATLAB数值分析实例_第4页
MATLAB数值分析实例_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、2016-2017 第一学期数值分析上机实验报告姓名: xxx学号: 20162.学院:土木工程学院导师: .联系电话:.指导老师: .目录第一题21.1题目要求21.2程序编写21.3计算结果及分析2第二题22.1题目要求22.2程序编写22.3计算结果及分析2第三题23.1题目要求23.2程序编写23.3计算结果及分析2第四题24.1题目要求24.2程序编写24.3计算结果及分析2第五题25.1题目要求25.2程序编写25.3计算结果及分析2第六题26.1题目要求26.2程序编写26.3计算结果及分析26.4程序改进2第一题选做的是第(1)小问。1.1题目要求编出不动点迭代法求根的程序;把

2、x3+4x2-10=0写成至少四种x=g(x)的形式,取初值x0=1.5,进行不动点迭代求根,并比较收敛性及收敛速度。1.2程序编写1.3计算结果及分析 第一种迭代公式:x=x3+4x2+x-10; matlab计算结果如下:(以下为命令行窗口的内容) 第二种迭代公式:x=2(10-x3)/4; matlab计算结果如下:(以下为命令窗口内容) 第三种迭代公式:x=210(x+4); matlab计算结果如下:(以下为命令窗口内容) 第四种迭代公式:x=10(x2+4x); matlab计算结果如下:(以下为命令窗口内容)上述4种迭代公式,1、4两种由于在x真实值附近|g(x)|1,不满足迭代

3、局部收敛条件,所以迭代序列不收敛。对于2、3两种式子,由于在x真实值附近|g(x)|=L1,满足迭代局部收敛条件,所以迭代序列收敛。对于2、3两迭代公式,由于L3L2,所以第3个迭代公式比第2个迭代公式收敛更快。第二题选做的是第(2)小问2.1题目要求编写有效程序解线性方程组Ax=b。2.2程序编写2.3计算结果及分析(命令行窗口显示内容)数据太多截取一部分第三题3.1题目要求对函数fx=11+25x2在区间-1,1上取xi=-1+0.2i(i=0,1,2,10),(a)对函数进行多项式插值和三次样条插值,并画出插值函数及fx的函数;(b)对函数求其三次拟合曲线并画出拟合曲线的图像,与(a)中

4、结果进行比较。3.2程序编写3.3计算结果及分析matlab画出的图像如下:从上图可以清晰的看到,三次样条插值曲线与原始曲线最为接近,作为f(x)的插值函数比较理想。而三次多项式拟合的话,与原始结果偏差很大。第四题选择的是第一小问4.1题目要求编写Gauss-Legendre求积公式程序,并计算下列积分(1)-11e-(cosx)2dx(2)02e-(cosx)2dx(3)01x|sin(1x)|dx(4)01ln(1+x)xdx4.2程序编写4.3计算结果及分析(a) -11e-(cosx)2dx(以下为命令行窗口的内容)(b) 02e-(cosx)2dx(以下为命令行窗口的内容)(c) 0

5、1x|sin(1x)|dx(以下为命令行窗口的内容)(d) 01log(1+x)xdx(以下为命令行窗口的内容)第五题5.1题目要求给定初值问题 fx=y=-50y+50x2+2x, &0x1y0=13 h用经典的四阶Lunge-Kutta方法求解,步长分别取为h=0.1, 0.025, 0.01,计算并打印x=0.1i(i=1, 2, , 10)各点的值,并与准确解yx=13e-50x+x2作比较。5.2程序编写5.3计算结果及分析(以下为命令行窗口的内容)请输入步长h:0.1从上面的结果可以看到,当步长为0.1时,求解是很不准确的,可能是步长过大导致的,所以应适当减小步长,再尝试进行计算。

6、下面的运算取步长为0.025,再进行试算。(以下为命令行窗口的内容)请输入步长h:0.025从上面的结果可以看到,由于步长h取值减小,误差变得很小,可以看出其误差限是呈线性增加的。 (以下为命令行窗口的内容)请输入步长h:0.01从上面的结果可以看到,当步长取0.01时,误差减小了10多倍。此外,我也尝试了采用更小的步长进行计算,计算所得的相对误差随步长减小也越来越小,限于篇幅,也就不再一一罗列计算结果。所以减小步长,可以很好地提高该算法的精确度,若我们把计算结果看成关于步长h的序列,该序列的收敛速度还比较快。而在这一点上,我们也可以通过理论证明,当步长h趋于零时,计算结果就趋于真实结果,即收敛性。第六题6.1题目要求编程计算n=11cn,其中c=4.494210307,给出并观察计算结果,若有问题,分析之。要求逐项相加编程求解,不允许使用matlab中的现有函数。6.2程序编写6.3计算结果及分析根据我们所学的数学知识,这个关于n的求和序列实际是不收敛的,但是由于计算机计算时的大数吃掉了小数后,数值无法累加。所以显示为

温馨提示

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

评论

0/150

提交评论