Matrix of transfer functions

70 views (last 30 days)
Davood Raoofsheibani
Davood Raoofsheibani on 10 Nov 2015
Answered: Robert U on 12 Jul 2021
How do I define a matrix whose arrays are different transfer functions. I would like to do matrix multiplication and inversion later. I would like to avoid using symbolic definition of transfer functions.
  1 Comment
CONGBO BAO
CONGBO BAO on 11 Jul 2021
Hi, Dear Davood;
I am facing the same problem.
Did you solve it?
Yours sincerely

Sign in to comment.

Answers (1)

Robert U
Robert U on 12 Jul 2021
Hi Davood Raoofsheibani,
you can define arrays of transfer functions similar to numeric arrays by using tf():
% define array
A = [tf([1],[1/(2*pi*24e3) 2/(2*pi*12e3) 1]), tf([1],[1/(2*pi*12e3) 2/(2*pi*8e3) 1]);...
tf([1],[1/(2*pi*6e3) 2/(2*pi*12e3) 1]), tf([1],[1/(2*pi*12e3) 2/(2*pi*12e3) 1])];
% use operations on array
A^2
ans = From input 1 to output... 3.958e-10 s^4 + 1.759e-09 s^3 + 5.305e-05 s^2 + 0.0001194 s + 2 1: ------------------------------------------------------------------------------------------------------------------------------ 1.547e-20 s^8 + 1.857e-19 s^7 + 6.417e-15 s^6 + 5.424e-14 s^5 + 9.236e-10 s^4 + 4.75e-09 s^3 + 5.306e-05 s^2 + 0.0001194 s + 1 5.277e-10 s^4 + 1.935e-09 s^3 + 7.295e-05 s^2 + 0.0001061 s + 2 2: ------------------------------------------------------------------------------------------------------------------------------- 6.189e-20 s^8 + 4.951e-19 s^7 + 1.867e-14 s^6 + 9.799e-14 s^5 + 1.847e-09 s^4 + 5.805e-09 s^3 + 7.295e-05 s^2 + 0.0001061 s + 1 From input 2 to output... 2.639e-10 s^4 + 1.495e-09 s^3 + 4.642e-05 s^2 + 0.0001326 s + 2 1: ------------------------------------------------------------------------------------------------------------------------------- 1.547e-20 s^8 + 1.857e-19 s^7 + 5.833e-15 s^6 + 5.133e-14 s^5 + 7.917e-10 s^4 + 4.574e-09 s^3 + 4.643e-05 s^2 + 0.0001326 s + 1 5.277e-10 s^4 + 2.111e-09 s^3 + 6.632e-05 s^2 + 0.0001194 s + 2 2: ------------------------------------------------------------------------------------------------------------------------------- 6.189e-20 s^8 + 4.951e-19 s^7 + 1.633e-14 s^6 + 9.566e-14 s^5 + 1.583e-09 s^4 + 5.981e-09 s^3 + 6.632e-05 s^2 + 0.0001194 s + 1 Continuous-time transfer function.
s = tf('s');
A.*s
ans = From input 1 to output... s 1: ------------------------------- 6.631e-06 s^2 + 2.653e-05 s + 1 s 2: ------------------------------- 2.653e-05 s^2 + 2.653e-05 s + 1 From input 2 to output... s 1: ------------------------------- 1.326e-05 s^2 + 3.979e-05 s + 1 s 2: ------------------------------- 1.326e-05 s^2 + 2.653e-05 s + 1 Continuous-time transfer function.
A^(-1)
ans = From input 1 to output... 8.842e-06 s^6 + 7.074e-05 s^5 + 2.334 s^4 + 11 s^3 + 1.759e05 s^2 + 3.519e05 s + 3.79e09 1: ---------------------------------------------------------------------------------------- s^4 + 3.333 s^3 + 7.54e04 s^2 + 5.027e04 s + 4.403e-07 -4.421e-06 s^6 - 3.979e-05 s^5 - 1.333 s^4 - 7.667 s^3 - 1.257e05 s^2 - 3.519e05 s - 3.79e09 2: -------------------------------------------------------------------------------------------- s^4 + 3.333 s^3 + 7.54e04 s^2 + 5.027e04 s + 4.403e-07 From input 2 to output... -8.842e-06 s^6 - 6.189e-05 s^5 - 2.333 s^4 - 9.333 s^3 - 1.759e05 s^2 - 3.016e05 s - 3.79e09 1: -------------------------------------------------------------------------------------------- s^4 + 3.333 s^3 + 7.54e04 s^2 + 5.027e04 s - 3.418e-07 1.768e-05 s^6 + 0.0001061 s^5 + 3.334 s^4 + 12.67 s^3 + 2.011e05 s^2 + 3.519e05 s + 3.79e09 2: ------------------------------------------------------------------------------------------- s^4 + 3.333 s^3 + 7.54e04 s^2 + 5.027e04 s - 3.418e-07 Continuous-time transfer function.
Kind regards,
Robert

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!

Translated by