首页 > 代码库 > Matlab基础学习--------多项式及其操作
Matlab基础学习--------多项式及其操作
直接上代码(其中包含详细的实例和注释)
%% 多项式及其操作 % 使用poly2sym()函数来构造多项式 % 实例 构造多项式:2*x^6+3*x^5+4*x^4+8*x+1 A=[2 3 4 0 0 8 1]; poly2sym(A) % 结果 ans = 2*x^6+3*x^5+4*x^4+8*x+1 %多项式的根(即多项式表达式=0对应的x的值) % 实例 A=[2 3 4 0 0 8 1]; poly2sym(A) %构造多项式 x=roots(A) % 求多项式的根 % 结果 ans = 2*x^6+3*x^5+4*x^4+8*x+1 x = -0.7708 + 1.4984i -0.7708 - 1.4984i -1.2805 0.7237 + 0.7586i 0.7237 - 0.7586i -0.1251 %求出结果之后验证表达式的结果是不是为0 polyval(A,x) % 结果 ans = 1.0e-013 * -0.0111 - 0.0833i -0.0111 + 0.0833i 0.3453 0.0022 + 0.1271i 0.0022 - 0.1271i 0.0111 % 从结果可以看出,求出的根只是一个近似值而不是精确值 % 多项式求导 polyder(h) % 实例 A=[2 3 4 0 0 8 1]; poly2sym(A) %构造多项式 x=polyder(A) %对多项式求导 poly2sym(x) %显示求导后的多项式 %结果: ans = 2*x^6+3*x^5+4*x^4+8*x+1 x = 12 15 16 0 0 8 ans = 12*x^5+15*x^4+16*x^3+8 %多项式估值 polyval(p,x) % 其中p代表多项式的系数,x代表要求值的点 % 如果x是矩阵,则需要使用polyvalm(p,x)来实现 % 实例 A=[2 3 4 0 0 8 1]; poly2sym(A) %构造多项式 polyval(A,[1 2 3 4]) %计算多项式在x=1 2 3 4时的值 % 结果 ans = 2*x^6+3*x^5+4*x^4+8*x+1 ans = 18 305 2536 12321 % 当x为矩阵时求解 A=[1 0 1]; % x^2+1 B=[1 2 3;4 5 6;7 8 9] polyvalm(A,B) % 其实相当于把B这个二维矩阵直接替换变量x,即求 B^2+E 这个矩阵多项式 % 结果 x = 1 2 3 4 5 6 7 8 9 ans = 31 36 42 66 82 96 102 126 151 % 有理多项式 用residue()函数来计算有理多项式 % 有理多项式的表示分别用分子分母多项式来表示 % [r,p,k]=residue(b,a) 其中b代表分子多项式的系数,a代表分母多项式的系数 % 实例 b=[3 5 3 8]; poly2sym(b) % 分子多项式 a=[4 6 0 -5]; poly2sym(a) % 分母多项式 [r,p,k]=residue(b,a) % 计算有理多项式 % 结果 r = -0.3939 + 0.7790i -0.3939 - 0.7790i 0.9127 p = -1.1230 + 0.6438i -1.1230 - 0.6438i 0.7460 k = 0.7500 % 结果说明 B(s) R(1) R(2) R(n) ---- = -------- + -------- + .... + -------- + K(s) A(s) s - P(1) s - P(2) s - P(n)
Matlab基础学习--------多项式及其操作
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。