Mauro Casse wrote:
Hi, I can't find how to do this, I must obtain the space state
representation of the followig transfer function with single input
and two outputs
1 [ 1 ]
G(s) = ------------------- * | | (this is a column vector)
s^2+5*s+1 [ s+1]
the following commands works in Matlab, but octave return this error
octave:26> num = [ 0 1; 1 1];
octave:27> den = [ 1 5 6 ];
octave:28> [ A, B, C, D] = tf2ss(num,den)
error: num(2x2) must be a vector
error: evaluating if command near line 51, column 3
error: called from /usr/local/share/octave/2.1.50/m/control/sys
tf2ss requires the numerator to have only one column, i.e. it only
works with simple gains in the numerator. You can create the state
space representation manually however:
octave> [A,B,C1,D1] = tf2ss ( 1 , [1,5,6] );
octave> [A,B,C2,D2] = tf2ss ( [1,1] , [1,5,6] );
octave> C = [C1;C2];
octave> D = [D1;D2];
octave> A,B,C,D
A =
0 1
-6 -5
B =
0
1
C =
1 0
1 1
D =
0
0
--
Geraint Bevan
Department of Mechanical Engineering
University of Glasgow
Tel: +44 (0)141 330 5917
-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.
Octave's home on the web: http://www.octave.org
How to fund new projects: http://www.octave.org/funding.html
Subscription information: http://www.octave.org/archive.html
-------------------------------------------------------------