MATLAB课件-方法的MATLAB实现

上传人:1818****572 文档编号:125165495 上传时间:2020-03-15 格式:PPT 页数:168 大小:2.12MB
返回 下载 相关 举报
MATLAB课件-方法的MATLAB实现_第1页
第1页 / 共168页
MATLAB课件-方法的MATLAB实现_第2页
第2页 / 共168页
MATLAB课件-方法的MATLAB实现_第3页
第3页 / 共168页
MATLAB课件-方法的MATLAB实现_第4页
第4页 / 共168页
MATLAB课件-方法的MATLAB实现_第5页
第5页 / 共168页
点击查看更多>>
资源描述

《MATLAB课件-方法的MATLAB实现》由会员分享,可在线阅读,更多相关《MATLAB课件-方法的MATLAB实现(168页珍藏版)》请在金锄头文库上搜索。

1、课程主要内容 第1章 MATLAB简介 第2章 数值运算 第3章 单元数组和结构 第4章 字符串 第5章 符号运算 第6章 MATLAB绘图基础 第7章 程序设计 第8章 计算方法的MATLAB实现 第9章 优化设计 第10章 SIMULINK仿真初探 Date1 第8章 计算方法的MATLAB实现 随着计算机的迅速发展与广泛运用 在众多的领 域 科学计算方法的应用越来越广泛了 而 MATLAB在进行科学计算方面有着无与伦比的优 势 本章介绍MATLAB在计算方法中的运用 Date2 8 1 方程求根 roots见多项式求根 roots 多项式系数矩阵 fzero可求解非线性方程 它的格式为

2、fzero function x0 其中function为求解的方程 x0为估计的根 x0可 为标量或长度为2的向量 为向量时函数的两端的 值应该符号相反 此时求区间上的解 只能求解 x0附近的一个解 即使在某个区间内有多个解 但是区间端点符号相同的话仍然出错 Date3 程序实例 fzero x 3 3 x 1 2 ans 1 8794 fzero x 3 3 x 1 1 4 ans 1 8794 fzero x 3 3 x 1 2 4 Error using fzero The function values at the interval endpoints must differ in

3、 sign Date4 程序实例 fzero x 2 3 x 2 0 ans 1 0000 fzero x 2 3 x 2 3 ans 2 0000 fzero x 2 3 x 2 0 4 Error using fzero The function values at the interval endpoints must differ in sign Date5 8 2 线性方程组数值解法 线性方程组的求解不仅在工程技术领域涉及到 而且在其他的许多领域也经常碰到 因此这是一 个应用相当广泛的课题 关于线性方程组的数值解法一般分为两类 一类 是直接法 就是在没有舍入误差的情况下 通过 有限步

4、四则运算求得方程组准确解的方法 另一 类是迭代法 就是先给定一个解的初始值 然后 按一定的法则逐步求出解的各个更准确的近似值 的方法 Date6 8 2 1 直接解法 关于线性方程组的直接解法有许多种 比如Gauss 消去法 列主元消去法 平方根法等 而在 MATLAB中 线性方程组的直接解法只需用符号 或 就解决问题 还可以使用逆阵函数来求解 x inv A B Date7 程序实例 求解下列方程组 Date8 程序实例 a 12 3 3 18 3 1 1 1 1 b 15 15 6 x1 a b x1 1 0000 2 0000 3 0000 x2 inv a b x2 1 2 3 Dat

5、e9 8 2 2 线性方程组求解中的变换 上三角变换 U triu x 返回矩阵x的上三角部分 U triu x k 返回第k条对角线以上部分的元素 Date10 程序实例 a 12 3 3 18 3 1 1 1 1 triu a ans 12 3 3 0 3 1 0 0 1 Date11 triu a 1 ans 0 3 3 0 0 1 0 0 0 triu a 1 ans 12 3 3 18 3 1 0 1 1 程序实例 Date12 下三角变换 U tril x 返回矩阵x的下三角部分 U tril x k 返回第k条对角线以上下部分的元素 Date13 程序实例 a 12 3 3 18

6、 3 1 1 1 1 tril a ans 12 0 0 18 3 0 1 1 1 Date14 程序实例 tril a 1 ans 12 3 0 18 3 1 1 1 1 tril a 1 ans 0 0 0 18 0 0 1 1 0 Date15 对角变换 U diag x 返回矩阵x主对角线上的元素 返回结 果是一列向量形式 U diag x k 返回第k条对角线上的元素值 当x为向量时生成矩阵 Date16 程序实例 a 12 3 3 18 3 1 1 1 1 diag a ans 12 3 1 Date17 程序实例 a 12 3 3 18 3 1 1 1 1 diag a 1 an

7、s 3 1 diag a 1 ans 18 1 Date18 8 2 3 迭代解法 迭代解法非常适用于求解大型稀疏系数矩阵的方 程组 在线性方程组常用的迭代解法主要有Jacobi 迭代法 Gauss Seidel迭代法 Date19 Jacobi迭代法 Date20 Jacobi m function s jacobi a b x0 eps jacobi迭代法皆线性方程组 a为系数矩阵 b为方程组ax b中的右边的矩阵b x0为迭代初值 if nargin 3 eps 1 0e 6 elseif nargin eps x0 s s B x0 f end return Date22 程序实例 用

8、上面编写的jacobi函数求解下列方程组 Date23 程序实例 a 10 2 1 2 10 1 1 2 5 b 3 15 10 x jacobi a b 0 0 0 eps x 1 2 3 Date24 Gauss Saidel迭代法 Date25 gauss m function s gauss a b x0 eps gauss seidel迭代法皆线性方程组 a为系数矩阵 b为方程组ax b中的右边的矩阵b x0为迭代初值 if nargin 3 eps 1 0e 6 elseif nargin eps x0 s s B x0 f end return Date27 程序实例 用上面编写

9、的gauss函数求解下列方程组 Date28 程序实例 a 10 2 1 2 2 1 1 2 5 b 6 10 10 x gauss a b 0 0 0 eps x 4 13 8 Date29 8 3 非线性方程组数值解法 与线性方程组的求解一样 非线性方程组的求解 也是应用很广泛的课题 一般情况 非线性方程 组的数据值解法主要采用迭代法来求解 比较常 用的迭代法主要有不动点迭代法 Newton迭代法 拟Newton迭代法等几种方法 Date30 不动点迭代法 Date31 staticiterate m function s staticiterate x eps 不动点迭代法解非线性方程组

10、 x为迭代初值 eps为允许误差 if nargin 1 eps 1 0e 6 elseif nargin eps x xx xx fx x end s xx return Date33 程序实例 用不动点迭代法求解下面的方程组 Date34 fx m 首先编写上述非线性方程组的M文件fx m function y fx x y 1 0 1 x 1 x 1 x 2 x 2 8 y 2 0 1 x 1 x 2 x 2 x 1 8 y y 1 y 2 Date35 程序实例 x staticiterate 0 0 x 1 0000 1 0000 Date36 Newton迭代法 Date37 ne

11、wtoniterate m function s newtoniterate x eps newton迭代法解非线性方程组 x为迭代初值 eps为允许误差 if nargin 1 eps 1 0e 6 elseif nargin eps x x0 x x1 fx1 x x2 dfx1 x x3 inv x2 x0 x3 x1 end s x0 x return Date39 程序实例 用上面编写的newton迭代函数求解下列方程组 Date40 fx1 m和dfx1 m 首先 编写上述非线性方程组的M文件fx1 m function y fx1 x y 1 x 1 x 1 10 x 1 x 2

12、 x 2 8 y 2 x 1 x 2 x 2 10 x 2 x 1 8 y y 1 y 2 然后 编写上述非线性方程组导数的M文件dfx1 m function y dfx1 x y 1 2 x 1 10 y 2 2 x 2 y 3 x 2 x 2 1 y 4 2 x 1 x 2 10 y y 1 y 2 y 3 y 4 Date41 程序实例 x newtoniterate 0 0 x 1 1 Date42 8 4 插值与拟合 在生产实践及科学实验中 插值与拟合的应用非 常广泛 下面 就对如何用MATLAB来处理插值 与拟合作一介绍 Date43 8 4 1 一维插值 yi interp1

13、x y xi 返回在插值向量xi处的函数向量 yi 它是根据向量x和y插值而来 如y是矩阵 则 对y每一列进行插值 如xi中元素不在x内 返回 NaN yi interp1 y xi 省略x 表示x 1 N 此时N为向量y 的长度或为矩阵y的行数 yi interp1 x y xi method 表示用method指定的插 值方法进行插值 Date44 Method可取如下的值 nearest 最近插值 linear 线性插值 spline 三次样条插值 cubic 三次插值 Method默认值为线性插值 上述插值要求向量x单 调 Date45 程序实例 x 1 2 4 6 8 9 10 13

14、 15 16 y 5 7 8 10 13 14 15 17 19 20 x1 1 2 2 1 3 y1 interp1 x y x1 y1 5 4000 7 0500 7 5000 Date46 程序实例 x 1 2 4 6 8 9 10 13 15 16 y 5 7 8 10 13 14 15 17 19 20 x1 1 2 2 1 3 y1 interp1 x y x1 linear y1 5 4000 7 0500 7 5000 Date47 程序实例 x 1 2 4 6 8 9 10 13 15 16 y 5 7 8 10 13 14 15 17 19 20 x1 1 2 2 1 3

15、y1 interp1 x y x1 nearest y1 5 7 8 Date48 程序实例 x 1 2 4 6 8 9 10 13 15 16 y 5 7 8 10 13 14 15 17 19 20 x1 1 2 2 1 3 y1 interp1 x y x1 spline y1 5 5520 7 1114 7 6785 Date49 程序实例 x 1 2 4 6 8 9 10 13 15 16 y 5 7 8 10 13 14 15 17 19 20 x1 1 2 2 1 3 y1 interp1 x y x1 cubic y1 5 5006 7 0814 7 5476 Date50 程

16、序实例 x linspace 0 2 pi 100 y sin x x0 linspace 0 2 pi 6 y0 sin x0 x1 0 62 1 9 3 2 4 34 5 55 y1 interp1 x0 y0 x1 plot x y x0 y0 ro x1 y1 title 默认插值 Date51 Date52 程序结果 y1 y1 0 4692 0 7651 0 0546 0 7526 0 5549 y10 sin x1 y10 0 5810 0 9463 0 0584 0 9315 0 6692 deltay1 y1 y10 deltay1 0 1118 0 1812 0 0037 0 1789 0 1143 Date53 程序实例 x linspace 0 2 pi 100 y sin x x0 linspace 0 2 pi 6 y0 sin x0 x1 0 62 1 9 3 2 4 34 5 55 y1 interp1 x0 y0 x1 linear plot x y x0 y0 ro x1 y1 title linear插值 Date54 Date55 程序结果 y1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号