# Creating Symbolic state space model and transforming to canonical form?

37 views (last 30 days)
Johnathon Street on 17 Apr 2021 at 21:27
Commented: Johnathon Street on 17 Apr 2021 at 23:56
Hi all,
Is it possible to create a state space model based on symbolic parameters?... and then convert this model into controllable cannonical form?
Thanks,
Johnathon Street

Paul on 17 Apr 2021 at 22:27
Edited: Paul on 17 Apr 2021 at 23:24
Yes, at least in principle. For example:
>> A=sym('a',3)
A =
[ a1_1, a1_2, a1_3]
[ a2_1, a2_2, a2_3]
[ a3_1, a3_2, a3_3]
>> B=sym('b',[3 1])
B =
b1
b2
b3
>> C=[B A*B A^2*B]; % controllability matrix
>> t3 = [0 0 1]/C;
>> Tinv=[t3;t3*A;t3*A^2]; % state transformation
>> Ac = simplify(Tinv*A/Tinv,100)
Ac =
[ 0, 1, 0]
[ 0, 0, 1]
[ a1_1*a2_2*a3_3 - a1_1*a2_3*a3_2 - a1_2*a2_1*a3_3 + a1_2*a2_3*a3_1 + a1_3*a2_1*a3_2 - a1_3*a2_2*a3_1, a1_2*a2_1 - a1_1*a2_2 - a1_1*a3_3 + a1_3*a3_1 - a2_2*a3_3 + a2_3*a3_2, a1_1 + a2_2 + a3_3]
>> Bc = simplify(Tinv*B)
Bc =
0
0
1
Johnathon Street on 17 Apr 2021 at 23:56
Yeah I just now got it to work. I dont know what i was doing...
It works just fine.
Thanks again