
step response from an equation
    3 views (last 30 days)
  
       Show older comments
    
Hello guys.
I am makig a program to plot the step response of a transfer function. But my program starts defining the numerator and the denominator of the transfer function like the following:
if true
  syms s
  num_planta=1; %numerator of the transfer function
  den_planta=s*(s+2); %denominator of the transfer function
end
Then I make the fraction
if true
transfer_fnc=num_planta/den_planta
end
Then with that variable I make a code works, but the code does not plot anything. So I decided to do it possible. So I use some techniques but nothing work. I am gonna explain the techniques, so if you can guide me, I will be grateful.
1. Using step(transfer_fcn)
if true
  aux_transfer_fcn=transfer_fcn
  SS=tf('s')
  subs(transfer_fcn,s,SS)
  step(aux_transfer_fcn)
end
But matlab says that I cannot substitute a "symbolic" variable to a "tf" variable
2. Making with matrix
if true
   [num_transfer_fcn,den_transfer_fcn]=numden(transfer_fcn)
   coefs_num_transfer_fcn=coeffs(num_transfer_fcn,s,'all')
   coefs_den_transfer_fcn=coeffs(den_transfer_fcn,s,'all') %%so it will be [1, 2, 0]
   system=tf(coefs_num_transfer_fcn,coefs_den_transfer_fcn)
end
But matlab does no accept matrices like [1,2,3] only [1 2 3], so I was looking up how to convert but I failed lot of times.
Could you please guide me?
0 Comments
Answers (1)
  Dimitris Kalogiros
      
 on 21 Sep 2018
        Use this:
clear; clc; 
  close all;
    % sympolic math toolbox
    syms s, 
    num_planta=sym(1); %numerator of the transfer function
    den_planta=s*(s+2); %denominator of the transfer function
    transfer_fnc=num_planta/den_planta
    %%extract coeffs of num and denum
    nump=sym2poly(num_planta)
    denp=sym2poly(den_planta)
    %%create transfer function using control toolbox
    H=tf(nump, denp);
    step(H) % step function
If you run this, you should get:

2 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!