MIMOI ss2tf, how to apply input to TF?

147 views (last 30 days)
I have a system with 2 inputs and 2 outputs in the form of a state space model in simulink. i want to be able to represent cross coupling in the system by generating 4 transfer functions. However when using "ss2tf(A,B,C,D,iu)" i am only able to use "iu" values of 1 or 2. So how do i generate four tf's?
Next i want to apply a step input to TF11 (the transfer function representing relationship between input 1 and output1) and with nothing appplied to TF22 i want to be able to plot/observe the output at y1 and y2. How do i do this?
Do i need to get differential eqn of TF in order to apply an input to it?
I am very new to matlab so step by step help would be much appreciated (inc any codes that might be useful).
Thanks

Accepted Answer

Arkadiy Turevskiy
Arkadiy Turevskiy on 24 Feb 2012
Assuming you have your variables a,b,c,d defined in MATLAB workspace, so that
>>size(ss(a,b,c,d))
returns:
State-space model with 2 outputs, 2 inputs, and n states.
(where n is the number of states you have), all you need to do is this:
>>sys=ss(a,b,c,d); % create a 2*2 ss system
>>systf=tf(sys); convert to a 2x2 transfer function
>>step(systf(1,1)); % compute and plot step response of output 1 to input 1
>>step(systf(2,1)); % compute and plot step response of output 2 to input 1
Or, if you do not like to type:
>> step(tf(ss(a,b(:,1),c,d(:,1))))
  2 Comments
ken thompson
ken thompson on 2 Mar 2012
Thank you very much, very helpful.
fariba
fariba on 10 Mar 2015
thank you dear arkadiy turevskiy.your answer was helpful for me.

Sign in to comment.

More Answers (0)

Categories

Find more on Dynamic System Models in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!