Matlab多项式运算与方程求根

上传人:ldj****22 文档编号:51878137 上传时间:2018-08-17 格式:PPT 页数:16 大小:225.50KB
返回 下载 相关 举报
Matlab多项式运算与方程求根_第1页
第1页 / 共16页
Matlab多项式运算与方程求根_第2页
第2页 / 共16页
Matlab多项式运算与方程求根_第3页
第3页 / 共16页
Matlab多项式运算与方程求根_第4页
第4页 / 共16页
Matlab多项式运算与方程求根_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《Matlab多项式运算与方程求根》由会员分享,可在线阅读,更多相关《Matlab多项式运算与方程求根(16页珍藏版)》请在金锄头文库上搜索。

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

2、算多项式 和 的乘积 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)+rq 多项式的导数:polyderk=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

3、 多项式求值 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

4、*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

5、)若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不能用

6、符号表达式!例: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 solv

7、e也可以用来解方程组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是函数句柄,可以由字符串给出或使用,但不能是符号表达式!solve(f,v):求方程关于指定自变量的解,f可以是用字符串表示的方程,或符号表达式,若不含等号表示f=0;也可解方程组(包含非线性);得不到解析解时,给出数值解。linsolve(A,b):解线性方程组。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

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