Function Display As Is
    8 次查看(过去 30 天)
  
       显示 更早的评论
    
Hi all,
I wish to display a transfer function in the form that is shown below.

I am having trouble with the 5*(s+15) term, as MATLAB is by default distributing the 5 into the function and displaying 5*(s+75).
I wrote a MATLAB function which prompts the user for input polynomials and displays the output as the ratio of factors and as the ratio of polynomials once the factors are expanded.
function [factors,polynomials] = test(numpoly,denpoly)
%UNTITLED Summary of this function goes here
%   Detailed explanation goes here
syms s
numpoly = input('Please enter numerator polynomial as a function of s: ')
denpoly = input('Please enter denominator polynomial as a function of s: ')
factors = (numpoly/denpoly)
polynomials = expand(numpoly)/expand(denpoly)
pretty(factors)
pretty(polynomials)
end
%And the Outputs:
%    (5 s + 75) (s + 26) (s + 72)
%    ----------------------------
%               2   2
%     s (s + 56)  (s  + 5 s + 30)
%
%            3        2
%         5 s  + 565 s  + 16710 s + 140400
%    ------------------------------------------
%     5        4         3          2
%    s  + 117 s  + 3726 s  + 19040 s  + 94080 s
1 个评论
  Christopher Chock
 2022-9-15
				This should help!
https://www.mathworks.com/help/control/ug/transfer-functions.html
回答(1 个)
  Image Analyst
      
      
 2019-4-27
        Maybe try this:
s = linspace(0.1, 10, 1000);
numerator = 5 * (s + 15) .* (s + 26) .* (s + 72);
denominator = s .* (s + 56).^2 .* (s.^2 + 5 * s + 30);
H = numerator ./ denominator;
plot(s, H, 'b.-');
grid on;
xlabel('s', 'FontSize', 20);
ylabel('H', 'FontSize', 20);

另请参阅
类别
				在 Help Center 和 File Exchange 中查找有关 Polynomials 的更多信息
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


