Function Display As Is
Afficher commentaires plus anciens
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 commentaire
Christopher Chock
le 15 Sep 2022
This should help!
https://www.mathworks.com/help/control/ug/transfer-functions.html
Réponses (1)
Image Analyst
le 27 Avr 2019
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);

1 commentaire
Marino Kosorcic
le 27 Avr 2019
Catégories
En savoir plus sur Polynomials dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!