Function Display As Is
5 vues (au cours des 30 derniers jours)
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);

Voir également
Catégories
En savoir plus sur Polynomials dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!