MATLAB7.X程序设计 第4章 MATLAB 数值计算(2).ppt_第1页
MATLAB7.X程序设计 第4章 MATLAB 数值计算(2).ppt_第2页
MATLAB7.X程序设计 第4章 MATLAB 数值计算(2).ppt_第3页
MATLAB7.X程序设计 第4章 MATLAB 数值计算(2).ppt_第4页
MATLAB7.X程序设计 第4章 MATLAB 数值计算(2).ppt_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

第4章MATLAB数值计算 2 MATLAB7 X程序设计 2 47 4 4多项式函数 4 4 1多项式的表示MATLAB中多项式的表示方法 例如 行向量p 1 12025116 对应的多项式为 MATLAB7 X程序设计 3 47 4 4 2多项式的算术运算 1加减运算 MATLAB7 X程序设计 4 47 MATLAB7 X程序设计 5 47 2乘法运算 MATLAB支持多项式乘法 函数格式为 函数conv P1 P2 求多项式P1和P2的乘积 这里 P1 P2是两个多项式系数向量 例4 44计算c conv 122 154 执行结果如下 c 1716188由执行结果可知 MATLAB7 X程序设计 6 47 3除法运算 Q r deconv P1 P2 对多项式P1和P2作除法运算 其中Q返回多项式P1除以P2的商式 r返回P1除以P2的余式 注意deconv是conv的逆函数 即有P1 conv P2 Q r MATLAB7 X程序设计 7 47 例4 45计算Q deconv 1800 10 2 13 Q 0 50004 25001 3750 Q r deconv 1800 10 2 13 执行结果如下 Q 0 50004 25001 3750r 000 11 3750 14 1250由执行结果可知商是 余式是 MATLAB7 X程序设计 8 47 4 4 3导函数 p polyder P 求多项式P的导函数pp polyder P Q 求P Q的导函数p p q polyder P Q 求P Q的导函数 导函数的分子存入p 分母存入q MATLAB7 X程序设计 9 47 例4 46求的导数 p 3 21 polyder p 执行结果为 ans 6 2结果是 MATLAB7 X程序设计 10 47 a 3 21 b 456 polyder a b 执行结果为 ans 482124 7结果是 例4 47求的导数 MATLAB7 X程序设计 11 47 例4 48求的导数 a 3 21 b 456 q d polyder a b 执行结果为 q 2328 17d 1640736036 MATLAB7 X程序设计 12 47 例4 49求有理分式的导数 P 1 Q 1 0 5 p q polyder P Q 执行结果为 p 20q 1010025 MATLAB7 X程序设计 13 47 4 4 4多项式求根 x roots P 其中P为多项式的系数向量 求得的根赋给向量x 即x 1 x 2 x n 分别代表多项式的n个根 给出一个多项式的根 可以构造相应的多项式 若已知多项式的全部根 则可以用poly函数建立起多项式 其调用格式为 P poly x x为具有n个元素的向量 poly x 为以x为其根的多项式 且将该多项式的系数赋给向量P MATLAB7 X程序设计 14 47 例4 50求多项式的根 A 1 8 0 0 10 x roots A 执行结果如下 x 8 01941 0344 0 5075 0 9736i 0 5075 0 9736i由结果可以看出 方程的根为两个实根和一对共轭复根 MATLAB7 X程序设计 15 47 例4 51求方程的根 r 1 7240 p roots r 执行结果如下 p 5 00004 0000 2 0000由结果可以看出 方程的根均为实根5 000 4 0000和 2 0000 MATLAB7 X程序设计 16 47 例4 52已知 1 计算的全部根 2 由方程的根构造一个多项式并与进行对比 P 3 0 4 5 7 2 5 X roots P 求方程f x 0的根G poly X 求多项式G x MATLAB7 X程序设计 17 47 执行结果为 X 0 3046 1 6217i 0 3046 1 6217i 1 00661 01900 5967G 1 00000 00001 3333 1 6667 2 40001 6667注意 构造的多项式的首项系数为1 MATLAB7 X程序设计 18 47 4 4 5多项式估值 1代数多项式求值Y polyval P x 求代数多项式的值 若x为一常数 则求多项式P在该点的值 Y P 1 x N P 2 x N 1 P N x P N 1 若x为向量或矩阵 则对向量或矩阵中的每个元素求多项式P的值 返回值为与自变量同型的向量或矩阵 MATLAB7 X程序设计 19 47 例4 53已知分别计算和时的值 P 1800 10 x 1 2 Y polyval P x 执行结果如下 Y 5 8976y 234 541 Y polyval P y 执行结果如下 Y 702877581615758 1 MATLAB7 X程序设计 20 47 2矩阵多项式求值 polyvalm函数用来求矩阵多项式的值 要求以方阵x为自变量求多项式的值 MATLAB7 X程序设计 21 47 例4 54当x取时求的值 p 1 508 a 235 581 769 polyvalm p a 执行结果 ans 552690562548686538114814221154 MATLAB7 X程序设计 22 47 polyval p a 执行结果 ans 4 1088200410644332 MATLAB7 X程序设计 23 47 例4 55当x 8时求 x 1 x 2 x 3 x 4 的值 p poly 1234 polyvalm p 8 执行结果如下 p 1 1035 5024ans 840 MATLAB7 X程序设计 24 47 4 4 6部分分式函数 R P K residue B A 功能 返回部分分式和余数 R为极点 P为零点 K为余数 MATLAB7 X程序设计 25 47 例4 56求的部分分式 num 10 12 numeratorpolynomialden poly 1 3 4 denominatorpolynomial res poles k residue num den MATLAB7 X程序设计 26 47 执行结果为 res 6 66675 00001 6667poles 4 0000 3 0000 1 0000k MATLAB7 X程序设计 27 47 4 4 7多项式积分 polyint P K 返回多项式P的积分 K为常数项 默认值为0 MATLAB7 X程序设计 28 47 例4 57求 p 3 21 polyint p 2 ans 1 112polyint p 常数为0ans 1 110由执行结果可知 为常数项 本例中为2和0 MATLAB7 X程序设计 29 47 4 5插值和拟合 4 5 1数值插值1一维数值插值Y1 interp1 X Y X1 method 函数根据X Y的值 计算函数在X1处的值 X Y是两个等长的已知向量 描述数据点 X1是一个向量或标量 描述欲插值的点 Y1是一个与X1等长的插值结果 MATLAB7 X程序设计 30 47 method是插值方法 可用的方法有 linear 默认方法 线性插值 nearest 最邻近插值 spline 三次样条插值 cubic 三次插值 要求x的值等距离 所有插值方法均要求x是单调的 注意 X1的取值范围不能超出X的给定范围 否则 会给出 NaN 错误 MATLAB7 X程序设计 31 47 例4 58求正弦 余弦函数在区间 01 内间隔为0 25的各点的值 x 0 1 y1 sin x y2 cos x xi 0 25 1 yi1 interp1 x y1 xi yi2 interp1 x y2 xi 线性插值方法yi1 interp1 x y1 xi nearest yi2 interp1 x y2 xi nearest 最邻近插值 MATLAB7 X程序设计 32 47 2二维数值插值 Z1 interp2 X Y Z X1 Y1 method 二维插值 其中X Y是两个向量 分别描述两个参数的采样点 Z是与参数采样点对应的函数值 X1 Y1是两个向量或标量 描述欲插值的点 Z1是根据相应的插值方法得到的插值结果 MATLAB7 X程序设计 33 47 4 5 2数据拟合 polyfit函数求最小二乘拟合多项式的系数 调用格式为 P S polyfit X Y m 功能 根据采样点X和采样点函数值Y 产生一个m次多项式P及其在采样点的误差向量S 其中X Y是两个等长的向量 P是一个长度为m 1的多项式系数向量 MATLAB7 X程序设计 34 47 例4 59已知在 1 3 区间10个采样点的函数值 求的4次拟合多项式p x MATLAB7 X程序设计 35 47 例4 60已知数表如下x 9101112 f x 2 60931 75861 39791 9483 求4次拟合多项式f x 并计算f 10 5 的近似值 MATLAB7 X程序设计 36 47 4 6数值微分与积分 4 6 1差分 DX diff X 计算向量X的向前差分 DX i X i 1 X i i 1 2 n 1 DX diff X n 计算向量X的n阶向前差分 如diff X 2 diff diff X DX diff A n dim 计算矩阵A的n阶差分 dim 1时 缺省状态 按列计算差分 dim 2 按行计算差分 MATLAB7 X程序设计 37 47 例4 61求矩阵的差分 MATLAB7 X程序设计 38 47 4 6 2数值积分1数值积分基本原理高等数学中求解定积分的数值方法有简单的梯形法 辛普生 Simpson 法 牛顿 柯特斯 Newton Cotes 法等 基本思想都是将整个积分区间 a b 分成n个子区间 xi xi 1 i 1 2 n 其中x1 a xn 1 b 这样求定积分问题就分解为求和问题 MATLAB7 X程序设计 39 47 2一重积分 I n quad fname a b tol trace 基于变步长辛普生法的求定积分 其中 fname是被积函数 a和b分别是定积分的下限和上限 tol用来控制积分精度 缺省时取tol 0 001 trace控制是否展现积分过程 若取非0则展现积分过程 取0则不展现 缺省时取trace 0 返回参数I即定积分值 n为被积函数的调用次数 MATLAB7 X程序设计 40 47 I n quad8 fname a b tol trace 基于牛顿 柯特斯法求定积分 其中参数的含义和quad函数相似 只是tol的缺省值取10 6 MATLAB7 X程序设计 41 47 例4 62求 1 建立被积函数文件fesin mfunctionf fesin x f exp 0 5 x sin x pi 6 2 调用数值积分函数quad求定积分 S n quad fesin 0 3 pi 执行结果如下 S 0 9008n 77 MATLAB7 X程序设计 42 47 例4 63求 1 被积函数文件fx m functionf fx x f x sin x 1 cos x cos x 2 调用函数quad8求定积分 I quad8 fx 0 pi 执行结果如下 I 2 4674 MATLAB7 X程序设计 43 47 例4 64分别用quad函数和quad8函数求的近似值 并在相同的积分精度下 比较函数的调用次数 MATLAB7 X程序设计 44 47 以表格形式定义的函数的求定积分函数trapz的格式为 trapz X Y 其中向量X

温馨提示

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

最新文档

评论

0/150

提交评论