Controllable and observable canonical form

163 views (last 30 days)
Hi, I want to convert a transfer function to controllable and observable canonical form. Tried with tf2ss but it did not work. I am sharing a part of my code. Is there any way to get those A,B,C,D matrices by any Matlab functions??
My code:
clc; clear all;
Den=[0 1 1]; Num=[1 5 6];
s=tf(Den,Num)
[A B C D]=tf2ss(s)

Accepted Answer

Star Strider
Star Strider on 21 Feb 2017
Edited: Star Strider on 21 Feb 2017
The tf2ss function wants a transfer function as input, not a system object.
Try this:
[A B C D]=tf2ss(Den,Num)
A =
-5 -6
1 0
B =
1
0
C =
1 1
D =
0
EDIT
To get the state space representation from a system object, just use the ss funciton:
[A B C D] = ss(s);
  5 Comments
Shady Hassan
Shady Hassan on 31 Mar 2018
its the other way around, controllability and observability matrices are reversed in zour explanation above..

Sign in to comment.

More Answers (1)

Mackyle Naidoo
Mackyle Naidoo on 11 Jun 2022
i would like to obtain the state space repsentation for controllable , observable and diagonal canonical form
using the following transfer function of the 𝑌𝑌(𝑠𝑠) 𝑈𝑈(𝑠𝑠) = 𝑠 + 4 /𝑠^2 + 13s + 42. Using matlab code to get the desired outcome can anyone help?
  5 Comments
Mackyle Naidoo
Mackyle Naidoo on 12 Jun 2022
@Sam Chak transfer function in matlab is as follows
g = tf ([1,4],[1^2 13 42])
@star strider how do i post this as a new question ?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!