多项式-方程求解.ppt_第1页
多项式-方程求解.ppt_第2页
多项式-方程求解.ppt_第3页
多项式-方程求解.ppt_第4页
多项式-方程求解.ppt_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、A,1,Matlab 多项式运算与代数方程求解器,A,2,Matlab 多项式运算,Matlab 中多项式的表示方法,在 Matlab 中,n 次多项式是用一个长度为 n+1的向量来表示,缺少的幂次项系数为 0。,注:系数中的零不能省!,例:,多项式的符号形式:poly2sym, poly2sym(2,-1,0,3),A,3,多项式四则运算,多项式加减运算,Matlab 没有提供专门进行多项式加减运算的函数,事实上,多项式的加减就是其所对应的系数向量的加减运算,对于次数相同的多项式,可以直接对其系数向量进行加减运算; 如果两个多项式次数不同,则应该把低次多项式中系数不足的高次项用 0 补足,然

2、后进行加减运算。,例:,A,4,多项式四则运算,多项式乘法运算:,k = conv(p,q),其中 k 返回的是多项式 p 除以 q 的商,r 是余式。,k,r=deconv(p,q),p=conv(q,k)+r,A,5,多项式的求导,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),例:已知 , , 求,

3、A,6,多项式的值,计算多项式在给定点的值,代数多项式求值,y = polyval(p,x): 计算多项式 p 在 x 点的值,注:若 x 是向量或矩阵,则采用数组运算 (点运算)!,A,7,多项式的值,矩阵多项式求值,Y=polyvalm(p,X),采用的是普通矩阵运算,X 必须是方阵,例:已知 ,则, p=2,-1,0,3; x=-1, 2;-2,1; polyval(p,x) polyvalm(p,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

4、),A,8,多项式的零点,x=roots(p):若 p 是 n 次多项式,则输出是 p=0 的 n 个根组成的 n 维向量。,若已知多项式的全部零点,则可用 poly 函数给出该多项式,p=poly(x),A,9,k = conv(p,q) k,r = deconv(p,q),k = polyder(p) k = polyder(p,q) k,d = polyder(p,q),y = polyval(p,x) Y = polyvalm(p,X),x = roots(p),多项式运算小结,多项式运算中, 使用的是多项式 系数向量, 不涉及符号计算!,poly2sym(p),A,10,线性方程组求

5、解,线性方程组求解,linsolve(A,b):解线性方程组,例:解方程组, A=1 2 -1; 1 0 1; 1 3 0; b=2;3;8; x=linsolve(A,b),b是列向量!,A,11,非线性方程的根,Matlab 非线性方程的数值求解,fzero(f,x0):求方程 f=0 在 x0 附近的根。,方程可能有多个根,但 fzero 只给出距离 x0 最近的一个,fzero 先找出一个包含 x0 的区间,使得 f 在这个区间两个端点上的函数值异号,然后再在这个区间内寻找方程 f=0 的根;如果找不到这样的区间,则返回 NaN。,x0 是一个标量,不能缺省,由于 fzero 是根据函

6、数是否穿越横轴来决定零点,因此它基本无法确定函数曲线仅触及横轴但不穿越的零点,如 |sin(x)| 的所有零点。,A,12,非线性方程的根,fzero 的另外一种调用方式,fzero(f,a,b),方程在 a,b 内可能有多个根,但 fzero 只给出一个,求方程 f=0 在 a,b 区间内的根。,参数 f 可通过以下方式给出:,fzero(x3-3*x+1,2) f=inline(x3-3*x+1); fzero(f,2) fzero(x)x3-3*x+1,2),f 不是方程!,A,13,例:, fzero(sin(x),10) fzero(x)sin(x),10), fzero(x3-3*

7、x+1,1) fzero(x3-3*x+1,1,2), fzero(x3-3*x+1=0,1),X, fzero(x3-3*x+1,-2,0) f=inline(x3-3*x+1); fzero(f,-2,0),用 fzero 求零点时可以先通过作图确定零点的大致范围,A,14,符号求解,s=solve(f,v):求方程关于指定自变量的解; s=solve(f):求方程关于默认自变量的解。,f 可以是用字符串表示的方程,或符号表达式; 若 f 中不含等号,则表示解方程 f=0。,solve,例:解方程 x3-3*x+1=0, syms x; f=x3-3*x+1; s=solve(f,x),

8、s=solve(x3-3*x+1,x), s=solve(x3-3*x+1=0,x),A,15,符号求解,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),输出变量的顺序要书写正确!(字母表顺序),A,16,roots(p):多项式的所有零点,p 是多项式系数向量。,fzero(f,x0):求 f=0 在 x0 附近的根,f 可以使用 inline、字符串、或 ,但不能是方程!,solve(f,v):求方程关于指定自变量的解,f 可以是用字符串表示的方程、符号表达式; solve 也可解方程组(包含非线性); 得不到解析解时,给出数值解。,linsolve(A,b):解线性方程组。,求解方程函数小结,A,17,上机作业

温馨提示

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

最新文档

评论

0/150

提交评论