matlab计算方法实验指导误差分析

实验一 误差分析实验 1(病态问题)实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。通过本实验可获得一个初步体会。数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等) 。问题提出:考虑一个高次的代数多项式 )1.()()20()(1)( 1kxxxp显然该多项式的全部根为 1,2,…,20 共计 20 个,且每个根都是单重的。现考虑该多项式的一个扰动 )2.1(0)(19xp其中 是一个非常小的数。这相当于是对(1.1)中 的系数作一个小的扰动。 19x我们希望比较(1.1)和(1.2)根的差别,从而分析方程(1.1)的解对扰动的敏感性。实验内容:为了实现方便,我们先介绍两个 MATLAB 函数:“roots” 和“poly”。 rots(a)u其中若变量 a 存储 n+1 维的向量,则该函数的输出 u 为一个 n 维的向量。设 a的元素依次为 ,则输出 u 的各分量是多项式方程121,n 01nnaxx的全部根;而函数poly(v)b的输出 b 是一个 n+1 维向量,它是以 n 维向量 v 的各分量为根的多项式的系数。可见“roots” 和“poly” 是两个互逆的运算函数。 )20:1(;),;.vepolyrtsevzs上述简单的 MATLAB 程序便得到(1.2)的全部根,程序中的 “ess”即是(1.2)中的 。实验要求:(1)选择充分小的 ess,反复进行上述实验,记录结果的变化并分析它们。如果扰动项的系数 很小,我们自然感觉(1.1)和(1.2)的解应当相差很小。计算中你有什么出乎意料的发现?表明有些解关于如此的扰动敏感性如何?(2)将方程(1.2)中的扰动项改成 或其它形式,实验中又有怎样的现18x象出现?(3)(选作部分)请从理论上分析产生这一问题的根源。注意我们可以将方程(1.2)写成展开的形式,)3.1(0),(1920xxp同时将方程的解 x 看成是系数 的函数,考察方程的某个解关于 的扰动是否敏感,与研究它关于 的导数的大小有何关系?为什么?你发现了什么现象,哪些根关于 的变化更敏感?思考题一:(上述实验的改进)在上述实验中我们会发现用 roots 函数求解多项式方程的精度不高,为此你可以考虑用符号函数 solve 来提高解的精确度,这需要用到将多项式转换为符号多项式的函数 poly2sym,函数的具体使用方法可参考 MATLAB 的帮助。思考题二:(二进制产生的误差)用 MATLAB 计算 。结果居然有误差!因为从十进制数角度分析,10.10i这一计算应该是准确的。实验反映了计算机内部的二进制本质。思考题三:(一个简单公式中产生巨大舍入误差的例子)可以用下列式子计算自然对数的底数nne)1(lim1这个极限表明随着 n 的增加,计算 e 值的精度是不确定的。现编程计算与 exp(1)值的差。n 大到什么程度的时候误差最大?你能解释其nf)()中的原因吗?相关 MATLAB 函数提示:poly(a) 求给定的根向量 a 生成其对应的多项式系数(降序)向量roots(p) 求解以向量 p 为系数的多项式(降序)的所有根poly2sym(p) 将多项式向量 p 表示成为符号多项式(降序)sym(arg) 将数字、字符串或表达式 arg 转换为符号对象syms arg1 arg2 argk 将字符 arg1,arg2,argk 定义为基本符号对象solve( eq1 ) 求符号多项式方程 eq1 的符号解实验二 非线性方程求根实验 2(迭代法、初始值与收敛性)实验目的:初步认识非线性问题的迭代法与线性问题迭代法的差别,探讨迭代法及初始值与迭代收敛性的关系。问题提出:迭代法是求解非线性方程的基本思想方法,与线性方程的情况一样,其构造方法可以有多种多样,但关键是怎样才能使迭代收敛且有较快的收敛速度。实验内容:考虑一个简单的代数方程012x针对上述方程,可以构造多种迭代法,如 )1.7(21n 2.1nnx)3.7(1n在实轴上取初始值 x0,请分别用迭代(7.1)-(7.3)作实验,记录各算法的迭代过程。实验要求:(1)取定某个初始值,分别计算(7.1)-(7.3)迭代结果,它们的收敛性如何?重复选取不同的初始值,反复实验。请自选设计一种比较形象的记录方式(如利用 MATLAB 的图形功能) ,分析三种迭代法的收敛性与初值选取的关系。(2)对三个迭代法中的某个,取不同的初始值进行迭代,结果如何?试分析迭代法对不同的初值是否有差异?(3)线性方程组迭代法的收敛性是不依赖初始值选取的。比较线性与非线性问题迭代的差异,有何结论和问题。思考题一:用 Newton 法求方程 013x在区间[-3,3]上误差不大于 的根,分别取初值 进行计算,比较510 1,5.它们的迭代次数。相关 MATLAB 函数提示:x=fzero(fun,x0) 返回一元函数 fun 的一个零点,其中 fun 为函数句柄,x0 为标量时,返回在 x0 附近的零点;x0 为向量[a,b]时,返回函数在[a,b]中的零点[x,f,h]=fsolve(fun,x0) 返回一元或多元函数 x0 附近 fun 的一个零点,其中 fun为函数句柄,x0 为迭代初值;f 返回 fun 在 x 的函数值,应该接近 0; h 返回值如果大于 0,说明计算结果可靠,否则不可靠实验三 解线性方程组的迭代法实验 3.1(病态的线性方程组的求解)问题提出:理论的分析表明,求解病态的线性方程组是困难的。实际情况是否如此,会出现怎样的现象呢?实验内容:考虑方程组 Hx=b 的求解,其中系数矩阵 H 为 Hilbert 矩阵,njijihHjinji ,21,1,)(,, 这是一个著名的病态问题。通过首先给定解(例如取为各个分量均为 1)再计算出右端 b 的办法给出确定的问题。实验要求:(1)选择问题的维数为 6,分别用 Gauss 消去法、J 迭代法、GS 迭代法和 SOR 迭代法求解方程组,其各自的结果如何?将计算结果与问题的解比较,结论如何?(2)逐步增大问题的维数,仍然用上述的方法来解它们,计算的结果如何?计算的结果说明了什么?思考题一:讨论病态问题求解的算法Jacobi 迭代法与 Gauss-seidel 迭代法的比较:用 Jacobi 迭代法与 Gauss-seidel 迭代法解下列方程组:(1) 1752301x(2) 5.2015.0.3取 ,你能得出什么结论?6)0( 1,)Tx思考题二:SOR(超松驰)迭代法松驰因子对收敛性及速度的影响试用 SOR(超松驰)迭代法求解下列方程组: 2430410331x取 ,选择松驰因子 0.8,0.

matlab中非线性误差分析方法,matlab计算方法实验指导误差分析相关推荐

  1. 直接法 matlab,解线性方程组直接方法matlab用法.doc

    解线性方程组直接方法matlab用法 在这章中我们要学习线性方程组的直接法,特别是适合用数学软件在计算机上求解的方法. 2.1 方程组的逆矩阵解法及其MATLAB程序 2.1.3 线性方程组有解的判定 ...

  2. matlab多重积分如何使用方法,MATLAB在《高等数学》中的应用_多重积分

    论文导读::MATLAB是矩阵实验室的简称,在图形处理方面表现突出.<高等数学>是大学教育中重要的基础理论课之一,图形在<高等数学>的学习中占有重要的位置.在<高等数学& ...

  3. java梯形法的递推化_计算方法实验指导书(2011[1].7.19)

    集成开发环境(Visual C++.Net 2005)的使用 一开发环境介绍 Visual C++.Net画图通常在MFC应用程序中进行.本实验指导书采用基于对话框的MFC应用程序.该种工程新建过程如 ...

  4. matlab 矩阵jocobi迭代_计算方法实验指导书1 -

    定理3:对于迭代过程xk+1= ?(xk) ,如果?(p)(x) 在所求根x*的邻近连续,并且?'(x*)= ?''(x*) =...= ?(p-1)(x*) =0,?(p)(x*)≠0,则该迭代过程 ...

  5. matlab实现线性卷积和循环卷积,仿真实验四 循环卷积和线性卷积的实现

    实验四 循环卷积和线性卷积的实现 一.实验目的 1.进一步了解并掌握循环卷积与线性卷积的概念 2.掌握线性卷积与循环卷积软件实现的方法,理解掌握二者的关系 二.实例分析与计算 实验原理: 两个序列的N ...

  6. matlab怎么开始使用方法,matlab怎么使用,matlab基本使用方法

    matlab怎么使用MATLAB在怎么使用,如何使用matlab:首先打开软件输入代码,输入数组[array=[]]:然后定义符号变量syms x y:然后利用matlab的内置函数:最后,查手册,继 ...

  7. matlab自动排版,工具方法| Matlab 简单绘图与排版

    matlab启动界面 来自百度百科 对于很多教师与学生,Matlab是做数值计算很好的一款软件.收集.整理.分析数据十分的方便,我们也可以通过Matlab画出相对比较好看的图.这里简单总结下Matla ...

  8. matlab中常微分方法,MATLAB解常微分方程组的解法(好东西要共享)

    1:问题 常微分方程的初值问题的标准数学表述为:y'=f(t,y),a<=t<=b,y(a)=y(0) :我们要求解的任何高阶常微分方程都可以用替换法化为上式所示的一阶形式,其中y为向量, ...

  9. 64位matlab扩大内存的方法,Matlab增大内存方法外传及性能测试报告

    2011-09-19 12:28:00|  分类: Matlab |  标签:|字号 起因是这样的,上周四上课的时候要画一个正态分布函数,我想都没想直接去了randn(10000),就是一亿个数据,结 ...

  10. 利用Matlab进行线性回归分析(1)

    利用Matlab进行线性回归分析 利用 Matlab 进行线性回归分析 回归分析是处理两个及两个以上变量间线性依存关系的统计方法.可以通过软件 Matlab 实现. 1. 利用 Matlab 软件实现 ...

最新文章

  1. Android编程获取网络连接状态及调用网络配置界面
  2. SAP SD基础知识之输出控制(Output Control)
  3. Boost------ windows 库的编译安装
  4. laravel 调试模式及日志配置
  5. 关于字符集报错显示“255”Unknown initial character set index '255' received from server.
  6. HBase常用的Shell命令
  7. 如何构建一个流量无损的在线应用架构 | 专题中篇
  8. 树状数组 / 二维树状数组
  9. idea jsp页面没有html提示,解决IDEAJSP没有代码提示问题的几种方法.pdf
  10. Vue指令之v-html
  11. mysql压测宕机_MySQL压测时Linux中断异常飚高,原来是因为...
  12. python基础语法-缩进规则:
  13. 如何用UE4制作2D游戏文档(四)——NPC篇
  14. 开启充电计划升级职业生涯,让我们相聚社科院杜兰金融管理硕士项目
  15. Spring的事件处理
  16. matlab开环调速,直流电动机开环调速MATLAB系统仿真
  17. ZYNQ ARM核之SCU
  18. 通过C++类方法地址调用类的虚方法
  19. 【软考中级】多媒体应用设计师复习笔记第六章
  20. STC15单片机-通过PWM调整灯亮度

热门文章

  1. window+mysql+免安装_mysql 5.7.18 免安装版window配置方法
  2. Astronauts UVA - 1391(2-sat)
  3. Apache DolphinScheduler 3.1.0 版本发布,覆盖机器学习工作流全流程!
  4. 缩放指数型线性单元(SELU)
  5. 云计算与大数据技术应用2020.10.21
  6. keras入门 ---在小数据集上训练神经网络
  7. 纬度、经度和坐标系网格
  8. PHP 乐心 发送验证码 验证码识别
  9. 电脑主板线路连接图解_主板接线图解
  10. 移动政务中的小程序技术