expoly.m

来自「很多数学内容」· M 代码 · 共 22 行

M
22 行
字号
function  y=expoly(p)
s=p(1);
r=roots(p);    %求多项式的根
y=[];
while ~isempty(r)
   c=r(1); 
    r(1)=[]; %删除此根
    if imag(c)>eps    %此根为复根
        cc=conv([1 -c],[1 -conj(c)]);  %合并复数因子
        y=[y;cc];    %连接结果矩阵
        r(find(abs(r-conj(c))<eps))=[];%删除与其共轭的根
    else
        c=real(c);
        cc=[0 1 -c];%生成因式
        y=[y;cc];  %连接
    end
end
if abs(s-1)>eps    %多项式最高项系数不为1
    cc=[0 0 s];     %生成常数因子
    y=[y;cc];
end
        

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?