- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 第五章 数值计算基础 * 第五章 数值计算基础 5.1 多项式 5.2求解线性方程组的 5.3 差分、梯度 5.4 插值和拟合等。 5.5 基本数学函数 * 5.1 多项式 Matlab用行向量表示多项式,行向量由多项式系数按降幂排列组成。例如,多项式 可以用它的长度为n+1的系数行向量表示: 注意:系数行向量中元素的排列顺序必须是从高次幂系数到低次幂系数,多项式中缺少的幂次要用0补齐。 * 1、系数矢量的直接输入法: 由于在MATLAB中的多项式是以向量形式储存的,因此,创建多项式的最简单的方法即为直接输入多项式的系数行向量,MATLAB自动将向量元素按降幂顺序分配给各系数值。为了查看方便,可利用转换函数poly2sym,将多项式由系数行向量形式,转换为符号形式。 5.1.1 多项式的创建 * 5.1.1 多项式的创建 例5-1 输入系数矢量 ,创建多项式 poly2sym([1, -5 ,6, -33]) ans= x^3-5*x^2+6*x-33 * 5.1.1 多项式的创建 2、通过矩阵的特征多项式来创建多项式 可以通过求矩阵的特征多项式,来创建多项式,由函数poly实现。调用格式为: p=poly(A):求矩阵A的特征多项式系数,要求输入参数A是n×n的方阵,输出参数p是包含n+1个元素的行向量,是A的特征多项式系数向量。 * 4.1.1 多项式的创建 例5-2 求矩阵的特征多项式。 A=[1 2 3;4,5,6;7,8,0]; p=poly(A) p = 1.0000 -6.0000 -72.0000 -27.0000 poly2sym(p) ans = x^3-6*x^2-72*x-27 * 5.1.1 多项式的创建 3、由根矢量创建多项式 由给定的多项式方程的根矢量创建该多项式,用poly函数实现。调用格式为: p=poly(r):返回一个行向量,该行向量是以r为根的多项式系数向量。 * 5.1.1 多项式的创建 例5-3 由根矢量[-5 -3 4]创建多项式。 r=[-5 -3 4] p=poly(r) p = 1 4 -17 -60 poly2sym(p) ans = x^3+4*x^2-17*x-60 * 5.1.1 多项式的创建 由给定根矢量创建多项式时应注意: (1)如果希望生成实系数多项式,则根矢量的复数根必须共轭成对。 (2)有时生成的多项式向量包含很小的虚部,可用real命令将其滤掉。 * 5.1.1 多项式的创建 例5-4 根据根矢量r=[-1+2i,-1-2i,0.2]创建多项式 r=[-1+2i,-1-2i,0.2] r = -1.0000 + 2.0000i -1.0000 - 2.0000i 0.2000 p=poly(r) % 求多项式系数矢量 p = 1.0000 1.8000 4.6000 -1.0000 pr=real(p) % 取实部 pr = 1.0000 1.8000 4.6000 -1.0000 poly2sym(pr) ans = x^3+9/5*x^2+23/5*x-1 * 5.1.2 多项式运算 1、求多项式的值 求多项式的值可以有两种形式,对应两种算法: (1)在输入变量值代入多项式计算时,以数量或矩阵中每个元素为计算单元的,对应函数为polyval; (2)以矩阵为计算单元的,进行矩阵式运算来求得多项式的值,对应函数为polyvalm。 * 5.1.2 多项式运算 调用格式为: polyval(p,x):求多项式p在x点的值,x可以是数量或矩阵,x是矩阵时,表示求多项式p在x中各元素的值。 polyvalm(p,x):求多项式p对于矩阵x的值,x可以是数量或矩阵。x如果是数量,求得的值与函数polyval相同,如果x是矩阵则必须是方阵。 * 5.1.2 多项式运算 例5-5 求多项式 在2,4,6,8处的值,对于矩阵 的值,及在矩阵中各元素处的值。 * 5.1.2 多项式运算 通过上例可以得出:设A为方阵,P代表多项式,则, polyval(P,A): 2*A.^2-3*A+5*ones(size(A)) polyvalm(P,A): 2*A^2-3*A+5*eye(size(A)) * 5.1.2 多项式运算 2、求多项式的根 可以直接调用MATLAB的函数roots,求解多项式的所有根。 调用形式为: R=roots(C) 其中输入参数C是多项式系
文档评论(0)