In the case you use, where you are working with ratios of symbolic polynomials, then
degree_num = length(coeffs(num,p)) - 1;
degree_den = length(coeffs(den,p)) - 1;
You can also simplify (at least logically) the taking of the limit:
[n, d] = numden(z(p));
coeffn = coeffs(n,p);
coeffd = coeffs(d,p);
lenn = length(coeffn);
lend = length(coeffd);
if lenn > lend + 1
error('limit would have been infinite')
elseif lenn <= lend
error('limit would have been zero');
else
a = coeffn(end);
end
If you are sure that neither of the two exception cases can occur, then
t = coeff(numden(z(p)));
a = t(end);
Best Answer