poly.m

来自「反馈控制系统设计与分析(matlab程序)」· M 代码 · 共 18 行

M
18
字号
function c=poly(A)
[nr,nc]=size(A); 
if nc==nr
   R0=eye(nc);  R=R0; c=[1 zeros(1,nc)]; 
   for k=1:nc 
      c(k+1)=-1/k*trace(A*R);  
      R=A*R+c(k+1)*R0;
   end
elseif (nr==1 | nc==1)
   A=A(isfinite(A)); n = length(A);
   c = [1 zeros(1,n)];
   for j=1:n
      c(2:(j+1)) = c(2:(j+1)) - A(j).*c(1:j);
   end
else   
   error('Argument must be a vector or a square matrix.')
end

⌨️ 快捷键说明

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