ラプラス変換でよく使う部分分数展開の計算プログラム
多項式の代入にはhorner関数を使う
function x = calcRes(N,D) p=roots(D); dim = length(p); residue = []; for i=1:dim do Di = pdiv(D,(s-p(i))); ci = horner(N/Di,p(i)); residue(i) = ci; end; disp("p = ") disp(p) x = residue; endfunction
->N=3 N = 3. -->D=s*(s^2+2*s+5) D = 2 3 5s + 2s + s -->calcRes(N,D) p = - 1. + 2.i - 1. - 2.i 0 ans = - 0.3 + 0.15i - 0.3 - 0.15i 0.6