Matlab多项式运算与方程求根.ppt

上传人:博****1 文档编号:568649489 上传时间:2024-07-25 格式:PPT 页数:16 大小:420.81KB
返回 下载 相关 举报
Matlab多项式运算与方程求根.ppt_第1页
第1页 / 共16页
Matlab多项式运算与方程求根.ppt_第2页
第2页 / 共16页
Matlab多项式运算与方程求根.ppt_第3页
第3页 / 共16页
Matlab多项式运算与方程求根.ppt_第4页
第4页 / 共16页
Matlab多项式运算与方程求根.ppt_第5页
第5页 / 共16页
点击查看更多>>
资源描述

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

1、Matlab多项式运算与方程求根多项式运算与方程求根v Matlab多项式运算多项式运算q 在在 Matlab 中中,n 次多项式是用一个长度为次多项式是用一个长度为 n+1的向量来表示,缺少的幂次项系数为的向量来表示,缺少的幂次项系数为 0。例如:。例如:在在 Matlab中中表示为相应的向量:表示为相应的向量:q 例:例:注:系数中的零不能省!注:系数中的零不能省!q 多项式四则运算多项式四则运算 多项式加减运算:多项式加减运算:Matlab没有提供专门进行多项式没有提供专门进行多项式加减运算的函数,事实上,多项式的加减就是其所对加减运算的函数,事实上,多项式的加减就是其所对应的系数向量的

2、加减运算。应的系数向量的加减运算。例:例: 对于次数相同的多项式,可以直接对其系数向量对于次数相同的多项式,可以直接对其系数向量进行加减运算;进行加减运算; 如果两个多项式次数不同,则应该把低次多项式如果两个多项式次数不同,则应该把低次多项式中系数不足的高次项用中系数不足的高次项用0补足,然后进行加减运算。补足,然后进行加减运算。q 多项式四则运算(续)多项式四则运算(续) 多项式乘法运算:多项式乘法运算: k=conv(p,q)例:计算多项式例:计算多项式 和和 的乘积的乘积 p=2,-1,0,3; q=2,1; k=conv(p,q); 多项式除法运算:多项式除法运算:k,r=deconv

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

4、式求值 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 x 是向量或矩阵,则采用是向量或矩阵,则采用数组运算数组运算(点运算)!(点运算)!q 多项式求值(续)多项式求值(续) p=2,-1,0,3; x=-1, 2;-2,1;polyval(p,x) polyvalm(p,x)例:已知例:已知 ,则,则 矩

5、阵多项式矩阵多项式求值:求值: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维向量。维向量。若已知多项式的全部零点

6、,则可用若已知多项式的全部零点,则可用poly函数给出该多项式。函数给出该多项式。p=ploy(x)注:以上多项式运算中,使用的都是多项式注:以上多项式运算中,使用的都是多项式 的的 系数向量,不涉及符号计算!,不涉及符号计算!v Matlab非线性方程的数值求解非线性方程的数值求解fzero(f,x0):求方程求方程f=0在在x0附近的根。附近的根。(1)方程可能有多个根,但方程可能有多个根,但fzero之给出离之给出离x0最近的一最近的一个根;个根;(2)若若x0是是一个标量,则一个标量,则fzero先先找出一个包含找出一个包含x0的的区间,使得区间,使得f在这个区间两个端点上的值异号,然

7、后再在这个区间两个端点上的值异号,然后再在这个区间内寻找方程在这个区间内寻找方程f=0的的根;如果找不到这样的区根;如果找不到这样的区间,则返回间,则返回 NaN。几点说明:几点说明:(4)由于由于fzero是根据函数是否穿越横轴来决定零点,是根据函数是否穿越横轴来决定零点,因此它无法确定函数曲线仅触及横轴但不穿越的零点,因此它无法确定函数曲线仅触及横轴但不穿越的零点,如如|sin(x)|的所有零点。的所有零点。(3)若若x0是一个是一个2维向量,则表示在维向量,则表示在x0(1),x0(2)区区间内求方程的根,此时必须满足间内求方程的根,此时必须满足f在这两个端点上的在这两个端点上的值异号。

8、值异号。(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):求方

9、程关于默认自变量的解。求方程关于默认自变量的解。其中其中 f可以是用可以是用字符串字符串表示的方程,或表示的方程,或符号表达式符号表达式;若;若f 中不含等号,则表示解方程中不含等号,则表示解方程 f=0。例:解方程例:解方程 x3-3*x+1=0syms 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 的的解。解

10、。例:解方程组例:解方程组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号