文档详情

Matlab第六讲多项式运算与代数方程求解.ppt

发布:2017-04-05约4.29千字共22页下载文档
文本预览下载声明
数学软件 Matlab 内容提要 多项式表示方法 多项式加减 多项式乘除 多项式求导 多项式积分 多项式求值 矩阵多项式求值 多项式的零点 多项式运算小结 内容提要 线性方程组求解 非线性方程求解 非线性方程求解 fzero 举例 代数方程符号求解 代数方程符号求解 求解方程函数小结 上机作业 上机作业 上机要求 * * —— 多项式运算 —— 代数方程求解 多项式转化为符号表达式:poly2sym 四则运算:conv、deconv 导数与积分:ployder、polyint 求值与零点:polyval、polyvalm、roots、poly 多项式运算 代数方程求解 线性方程组数值求解:linsolve 非线性方程数值求解:fzero 非线性方程符号求解:solve 在 Matlab 中,n 次多项式用一个长度为 n+1的向量来表示 在 Matlab中表示为向量: 注:系数中的零不能省! 例: 2x3 - x2 + 3 [2, -1, 0, 3] Matlab 中多项式的表示方法 多项式与符号表达式的互化:poly2sym, sym2poly poly2sym([2,-1,0,3]) 例: Matlab 没有提供专门进行多项式加减运算的函数 多项式的加减就是其所对应的系数向量的加减运算 次数相同的多项式,可直接对其系数向量进行加减运算 如果两个多项式次数不同,则应该把低次多项式中系数不足的高次项用 0 补足,然后再进行加减运算 例: p1 = 2x3 - x2 + 3 p2 = 2x + 1 p1 + p2 = 2x3 - x2 + 2x + 4 [2, -1, 0, 3] [2, 1] [0, 0, 2, 1] [2, -1, 2, 4] 多项式加减运算 k=conv(p,q) 例:计算多项式 2x3 - x2 + 3 和 2x + 1 的乘积 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 多项式乘法运算: k1=polyder([2,-1,0,3]); k2=polyder([2,-1,0,3],[2,1]); [k3,d]=polyder([2,-1,0,3],[2,1]); 例:已知 p1(x) = 2x3 - x2 + 3,p2(x) = 2x + 1 求: p1’,( p1 p2 )’, ( p1 /p2 )’ 多项式求导: polyder 多项式 p 的导数 k=polyder(p) p/q 的导数,k 是分子,d 是分母 [k,d]=polyder(p,q) p*q 的导数 k=polyder(p,q) 多项式积分: polyint 不定积分,常数项取 c I=polyint(p,c) 不定积分,常数项取 0 I=polyint(p) I=polyint([2,-1,0,3],5); 例:已知 p(x) = 2x3 - x2 + 3 求 ,常数项取 5 多项式求值: polyval 计算多项式 p 在 x 点的值 y=polyval(p,x) 这里的 x 可以是向量或矩阵,此时采用的是数组运算! p=[2,-1,0,3]; x=2; y=[-1, 2; -2,1]; z1=polyval(p,x) z2=polyval(p,y) 例:已知 p(x) = 2x3 - x2 + 3,计算 p 在 x 和 y 的每个分量上的值,其中 x=2, y=[-1,2; -2,1] 矩阵多项式求值: polyvalm 计算多项式 p 作用在矩阵 A 上的值 Y=polyvalm(p,A) 这里的 A 必须是方阵,采用的是普通矩阵运算! 例:已知 p(x) = 2x3 - x2 + 3 ,则 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)) p=[1,0,0]; % p(x)=x2 x=[1, 2; 3, 4]; y1=polyval(p,x) y2=polyvalm(p,x) 多项式的零点: roots 计算多项式 p 的所有零点 x=roots(p) 这里的 x 是由 p 的所有零点组成的向量 例:已知 p(x) = 2x3 - x2 + 3 ,求 p(x) 的零点 p=[2,-1,0,3]; x=r
显示全部
相似文档