数值分析二分法实验课件.ppt_第1页
数值分析二分法实验课件.ppt_第2页
数值分析二分法实验课件.ppt_第3页
数值分析二分法实验课件.ppt_第4页
数值分析二分法实验课件.ppt_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

数值分析实验 二分法 RoJ2011 10 15 用二分法求的正根 精确到小数点后3位 1 绘制函数图形 ezplot x 3 x 2 3 x 3 2 2 gridon2 可见 1为一个根 另外两个根分别在 1 5和1 5左右 确定这两个根 fzero x 3 x 2 3 x 3 1 5 ans 1 7321 fzero x 3 x 2 3 x 3 1 5 ans 1 7321 正根 3 根号3的15位精确值 formatlong sqrt 3 ans 1 732050807568877 二分法实现程序1 bisect m 二分法 BisectionMethod fun为f x 的表达式 a b 为求根区间 tol为精度 x为近似根 k为迭代次数function x k bisect fun a b tol fa feval fun a fb feval fun b 求区间端点的函数值iffa fb 0disp a b 不包含根 return endk 0 二分迭代次数置初值whileabs b a 2 tol 当区间分半后长度小于等于给定精度 退出循环体x a b 2 fx feval fun x 求区间中点函数值iffx fa 0 判断两端点处函数值符号 做二分b x fb fx 根在 a x 内elsea x fa fx 根在 x b 内endk k 1 二分次数增加1endx a b 2 满足精度的根 运行结果 f inline x 3 x 2 3 x 3 x k bisect fun 1 2 1e 3 x 1 7314k 10注 该程序结果是在可接受的范围内 两句在命令窗口的执行语句也可作为一个主程序存在一个文件中 如命名为bisexam m 其内容为 f inline x 3 x 2 3 x 3 x k bisect fun 1 2 1e 3 运行 bisexam和上面得到同样的结果 二分法实现程序2 function c err yc bisect f a b delta MatlabProgramsbyJohnH MathewsandKurtisD Fink 其参数注省略ya feval f a yb feval f b ifya yb 0 endmax1 1 round log b a log delta log 2 由定理2 4确定最大迭代次数fork 1 max1c a b 2 yc feval f c ifyc 0a c b c elseifyb yc 0b c yb yc elsea c ya yc endifb a delta break endendc a b 2 err abs b a yc feval f c 注 round x 朝最近方向取整例如 round 1 2 结果为 1 round 1 2 结果为1 运行结果 erfenfac 1 7319 满足精度的解 err 9 7656e 004 误差 yc 0 0011 在近似解处的函数值 注 该例若显示迭代次数 也是10次 显然 结果要好于程序1 Format命令只影响数据输出格式 对Matlab的内部计算和数据存储的数值精度不产生任何影响 用户可以用format命令设置或改变数据输出格式 例如 若输入 x 4 31 2345e 6 那么 在不同的输出格式下的输出为 formatshort1 33330 0000 formatshorte1 3333e 001 2345e 06 formatlong1 3333333333330 00000123450000 asin反正弦函数 acos反余弦函数 atan反正切函数 sinh双曲正弦函数 cosh双曲余弦函数 tanh双曲正切函数 sqrt方根函数 real复数的实部 imag复数的虚部 round最邻近整数截断 四舍五入 floor不大于自变量的最大整数 ceil不小于自变量的最小整数 exp自然指数函数 以e为底 log自然对数函数 以e为底 Matlab的部分常用数学函数 besselBessel函数 beta完全与不完全Beta函数 gamma完全与不完全 rat有理逼近 erf误差函数 inv A 方阵A的逆矩阵 lu A 矩阵A的列主元LU分解 det A 求方阵A的行列式的值 fmin单变量函数的极小值 fmins多变量函数的极小值 无约束非线性优化 fzero求单变量函数的零点 plot二维绘图 是将所给点列的相邻两点之间用直线连接 plot3三维空间绘图 mesh绘制三维网络曲面 三维消隐图 surf绘制三维彩色曲面 title题头标注 xlablex轴标注 ylabley轴标注 text任意定义的标注 gtext鼠标定位的标注 grid设置网格线 subplot在指定位置建立坐标 Matlab的部分常用绘图命令 Matlab的语言结构很简单 可归纳为Matlab语言结构 窗口命令 M文件在命令窗口输入的Matlab语句称为窗口命令 用以调用并执行M文件 M文件在记事本窗口建立 扩展名为 m M文件可以有很多个 它们可互相调用 也可自己调用自己 注意 M文件要放在Matlab搜索路径下 且文件名不要与Matlab的内置函数重名 在功能上M文件分两种类型 简单程序设计 1 文本文件文本文件包含一系列Matlab命令 当命令窗口调用它时 自动执行这些命令 文本文件的语句在工作空间中对全局变量进行运算 在文件运行过程中产生的所有变量都等价于直接从Matlab工作空间中建立 因而其他的文本文件和函数都可以访问这些变量 2 函数文件函数文件的第1行是以function开头的语句 文本文件没有这一行 其中至少有一个输入或输出参数 然后是一系列Matlab语句 函数文件中定义的变量都是局部变量 它们只在本函数内有效 函数文件实际上定义的是一个Matlab的子函数 其作用与其他高级语言的子函数基本相同 1 用窗口命令调用函数文件的例子 下面是以squsum m为函数文件名的求矩阵元素平方和的函数文件 functiony squsum x m n size x m为x的行数 n为x的列数y 0 fori 1 mforj 1 ny y x i j x i j endend 引用函数的名称并代入相应的变量 即可在命令窗口调用M函数文件 上述程序 下面给出2个简单程序 说明编程的基本方法 的调用方式如下 由A 1 2 3 4 5 Asum squsum A 可得Asum 55 由B 1 1 1 6 6 6 8 8 8 Bsum squsum B 可得Bsum 303 2 用文本文件调用函数文件的例子 然后在命令窗口输入命令fig 即可绘出函数的图形 这里 第一个函数的图形以实线绘出 第二个函数的图形以点划线给出 functiony fun1 x y 10 1 x 2 以及以fun2 m为函数文件名的函数文件functiony fun2 x y 5 4 sin x 再建立一个以fig m为名的文本文件x 5 0 1 5y fun1 x z fun2 x plot x y x z 虽然Matlab有丰富的函数库 并且在日益扩大 但毕竟是有限的 不可能覆盖各种数值计算方法 因此 用户总要针对具体问题编制部分或全部程序 结合本书的内容 将在以后各章若干Matlab函数文件 作为算法描述和方法应用的补充 由上述例子可见 程序的一般结构和调用过程是窗口命令 文本文件 函数文件 其中后两个可以缺省 在通常情况下 一个作业只需要一个文本文件 其主要功能是组织

温馨提示

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

评论

0/150

提交评论