Function Display As Is
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentar
Christopher Chock
am 15 Sep. 2022
This should help!
https://www.mathworks.com/help/control/ug/transfer-functions.html
Antworten (1)
Image Analyst
am 27 Apr. 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);

Siehe auch
Kategorien
Mehr zu Polynomials finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!