Matlab多项式运算与方程求根.ppt_第1页
Matlab多项式运算与方程求根.ppt_第2页
Matlab多项式运算与方程求根.ppt_第3页
Matlab多项式运算与方程求根.ppt_第4页
Matlab多项式运算与方程求根.ppt_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

Matlab多项式运算与方程求根 v Matlab多项式运算 q 在 Matlab 中,n 次多项式是用一个长度为 n+1 的向量来表示,缺少的幂次项系数为 0。例如: 在 Matlab中表示为相应的向量: q 例 : 注:系数中的零不能省! q 多项式四则运算 多项式加减运算:Matlab没有提供专门进行多项式 加减运算的函数,事实上,多项式的加减就是其所对 应的系数向量的加减运算。 例: 对于次数相同的多项式,可以直接对其系数向量进 行加减运算; 如果两个多项式次数不同,则应该把低次多项式中 系数不足的高次项用0补足,然后进行加减运算。 q 多项式四则运算(续) 多项式乘法运算: k=conv(p,q) 例:计算多项式 和 的乘积 p=2,-1,0,3; q=2,1; k=conv(p,q); 多项式除法运算:k,r=deconv(p,q) 其中k返回的是多项式p除以 q的商,r是余式。 k,r=deconv(p,q)p=conv(q,k)+r q 多项式的导数:polyder k=polyder(p):多项式p的导数; k=polyder(p,q): p*q 的导数; k,d=polyder(p,q):p/q 的导数,k是分子,d是分母 。 k1=polyder(2,-1,0,3); k2=polyder(2,-1,0,3,2,1); k2,d=polyder(2,-1,0,3,2,1); 例:已知 , , 求 q 多项式求值 p=2,-1,0,3; x=2;polyval(p,x) x=-1, 2;-2,1;polyval(p,x) 例:已知 ,分别取 x=2和一个2x2矩阵, 求 p(x)在 x处的值 代数多项式求值: y=polyval(p,x):计算多项式p在x点的值 注:若 x 是向量或矩阵,则采用数组运算(点运算) ! q 多项式求值(续) p=2,-1,0,3; x=-1, 2;-2,1;polyval(p,x) polyvalm(p,x) 例:已知 ,则 矩阵多项式求值: Y=polyvalm(p,X):以方阵X为自变量, 计算多项式的值,采用矩阵运算。 polyvalm(p,A)=2*A*A*A - A*A + 3*eye(size(A); polyval(P,A)=2*A.*A.*A - A.*A + 3*ones(size(A) q 多项式求根 p=2,-1,0,3; x=roots(p) 例:已知 ,求p(x)的零点。 x=roots(p):若p是n次多项式,则输出x为包 含p=0的n个根的n维向量。 若已知多项式的全部零点,则可用poly函数给出该多项式 。 p=ploy(x) 注:以上多项式运算中,使用的都是多项式 的 系数向量,不涉及符号计算! v Matlab非线性方程的数值求解 fzero(f,x0):求方程f=0在x0附近的根 。 (1)方程可能有多个根,但fzero之给出离x0最近的 一个根; (2)若x0是一个标量,则fzero先找出一个包含x0的 区间,使得f在这个区间两个端点上的值异号,然后再 在这个区间内寻找方程f=0的根;如果找不到这样的区 间,则返回 NaN。 几点说明: (4)由于fzero是根据函数是否穿越横轴来决定零点 ,因此它无法确定函数曲线仅触及横轴但不穿越的零 点,如|sin(x)|的所有零点。 (3)若x0是一个2维向量,则表示在x0(1),x0(2) 区间内求方程的根,此时必须满足f在这两个端点上 的值异号。 (5)函数中的f是一个函数句柄,可通过一下方式给出: 字符串形式:fzero(x3-3*x+1,2); 通过调用的函数句柄:fzero(sin,4); (6) f不能用符号表达式! 例: fzero(sin(x),10) fzero(sin,10) fzero(x3-3*x+1,1) fzero(x3-3*x+1,1,2) fzero(x3-3*x+1,-2,0) v Matlab符号方程求解 s=solve(f,v):求方程关于指定自变量的解; s=solve(f):求方程关于默认自变量的解。 其中 f可以是用字符串表示的方程,或符号表达式;若f 中不含等号,则表示解方程 f=0。 例:解方程 x3-3*x+1=0 syms x; f=x3-3*x+1; s=solve(f,x) s=solve(x3-3*x+1,x) s=solve(x3-3*x+1=0,x) q solve也可以用来解方程组 solve(f1,f2,.,fN,v1,v2,.,vN) 求解由 f1,f2,.,fN 确定的方程组关于 v1, v2,.,vN 的解。 例:解方程组 x,y,z=solve(x+2*y-z=27,x+z=3, . x2+3*y2=28,x,y,z) 输出变量的顺序要书写正确! q solve在得不到解析解时,会给出数值解。 q 线性方程组求解 linsolve(A,b):解线性方程组 例:解方程组 A=1 2 1; 1 0 1; 1 3 0; b=2;3;8; X=linsolve(A,b) b是列向量 ! 求解方程函数小结 roots(p):多项式的所有零点,p是多项式系数向量。 fzero(f,x0):求f=0在x0附近的根,f是函数句柄,可 以由字符串给出或使用,但不能是

温馨提示

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

评论

0/150

提交评论