polydiv.m

来自「Mathematical Methods by Moor n Stiling.」· M 代码 · 共 35 行

M
35
字号
function [q,r] = polydiv(a,b) 
% 
% Divide a(x)/b(x), and return quotient and remainder in q and r
% Coefficients are assumed to be in Matlab standard order (highest order first)
%
%
% function [q,r] = polydiv(a,b)
%
% a = numerator
% b = denominator
%
% q = quotient
% r = remainder

% Copyright 1999 by Todd K. Moon
 
m = length(a);
n = length(b);
q = 0;
if(length(a)<length(b))
  r = a;
else
  for j=1:m-n+1
    q(j) = a(j)/b(1);
    for l=2:n
      a(l+j-1) = a(l+j-1) - q(j)*b(l);
    end
  end
  r = a(m-n+2:m);
  if(all(r==0))
    r = 0;
  else
    r = r(find((r==0)==0):end);         % get rid of leading zeros
  end
end

⌨️ 快捷键说明

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