You are on page 1of 13

## Exercise 6: State-space models (Solutions)

A state-space model is a structured form or representation of a set of differential equations. Statespace models are very useful in Control theory and design. The differential equations are converted
in matrices and vectors, which is the basic elements in MathScript.
Assume we have the following differential equations:

## This gives on vector form:

][

][

][

][

A general linear State-space model may be written on the following general form:

## MathScript has several functions for creating state-space models:

Function
ss
Sys_order1

Sys_order2

Description
Constructs a model in state-space form. You also can use this
function to convert transfer function models to state-space
form.
Constructs the components of a first-order system model based
on a gain, time constant, and delay that you specify. You can use
this function to create either a state-space model or a transfer
function model, depending on the output parameters you
specify.
Constructs the components of a second-order system model

Example
>A = [1 2; 3 4]
>B = [0; 1]
>C = B'
>ssmodel = ss(A, B, C)
>K = 1;
>T = 1;
>H = sys_order1(K, T)

>dr = 0.5
>wn = 20

Faculty of Technology, Postboks 203, Kjlnes ring 56, N-3901 Porsgrunn, Norway. Tel: +47 35 57 50 00 Fax: +47 35 57 54 01

step

lsim

## based on a damping ratio and natural frequency you specify. You

can use this function to create either a state-space model or a
transfer function model, depending on the output parameters
you specify.
Creates a step response plot of the system model. You also can
use this function to return the step response of the model
outputs. If the model is in state-space form, you also can use this
function to return the step response of the model states. This
function assumes the initial model states are zero. If you do not
specify an output, this function creates a plot.
Creates the linear simulation plot of a system model. This
function calculates the output of a system model when a set of
inputs excite the model, using discrete simulation. If you do not
specify an output, this function creates a plot.

Example:
Given the following state-space model:

[ ]

][ ]
[

[ ]

][ ]

## The MathScript code for implementing the model is:

% Creates a state-space model
A = [1 2; 3 4];
B = [0; 1];
C = [1, 0];
D = [0];
model = ss(A, B, C, D)

Given the following system:

## Set the system on the following state-space form:

Solutions:
State-space model:

>[A, B, C, D] = sys_order2(wn,
dr)
>ssmodel = ss(A, B, C, D)

>num=[1,1];
>den=[1,-1,3];
>H=tf(num,den);
>t=[0:0.01:10];
>step(H,t);

>t = [0:0.1:10]
>u = sin(0.1*pi*t)'
>lsim(SysIn, u, t)

[ ]

][ ]

][ ]

[ ]

[]

Given the following system:

## Set the system on the following state-space form:

Solution:
The state-space model becomes:

[ ]

[ ]

][ ]

[ ]

][ ]

Given the following system:

## Set the system on the following state-space form:

Solutions:
State-space model:

[ ]

][ ]

][ ]

][

][

Given a mass-spring-damper system:

## The model of the system can be described as:

(

Where
position, speed/velocity, acceleration
- damping constant,

- mass,

- spring constant,

force

Set the system on the following state-space form:

5
Assuming the control signal

Solution:
We set:

This gives:

Finally:

, i.e.:

## The state-space model for the system then becomes:

[ ]

][ ]
[

[ ]

][ ]

i.e.:
[

[ ]
[

Define the state-space model above using the ss function in MathScript.
Apply a step in u and use the step function in MathScript to simulate the result.

6

Solution:
MathScript Code:
clear
clc
%
c
k
m

= 1;
= 1;
= 1;

%
A
B
C
D

## Define State-space model

= [0, 1; -(k/m), -(c/m)];
= [0; 1/m];
= [1, 0];
= [0];

ss_model = ss(A,B,C,D)
step(ss_model)
This gives:

Convert the state-space model defined in the previous task to a transfer function ( )
MathScript code.

( )
( )

using

7
Use

Do the same using pen and paper and Laplace. Do you get the same answer?
Solution:
MathScript:
In MathScript we can simple use the tf function in order to convert the state-space model to a
transfer function.

H = tf(ss_model)
This gives:
( )

( )
( )

## Pen and paper:

We have the equations:

We set

Laplace gives:

## Further (setting eq. 1 into eq. 2):

This gives:

or:

8
(

Which gives:

and

gives:
( )

( )
( )

Alternative metod:
The state-space model with

][ ]
[

[ ]

][ ]

( )
( )

( )

[ ]

where:
[

[ ]

This gives:
( )

] ([

])

[ ]

Where:
[

][

][ ]

This means:
( )

( )
( )

## , which is the same answer.

Given the following system:

Find the state-space model from the block diagram.
Note!

and

Solution:
We get the following state-space model from the block diagram:

10
This gives:

[ ]

][ ]

[ ]

][ ]

Implement the state-space model in MathScript and simulate the system using the step function in
MathScript.
Set

And

Solution:

## Task 4: State-space model to Transfer functions

Given the following system:

11

Find the state-space model on the form (pen and paper):

Solution:
First we do:

This gives:

[ ]

][ ]

][ ]

][

][

Define the state-space model in MathScript and find the step response for the system. Discuss the
results.
Solution:
MathScript code:
clear,clc
A = [0 1; -1 -3];
B = [0 0; 2 4];
C = [5 6];
D = [7 0];
ssmodel = ss(A,B,C,D)
step(ssmodel)
Step response:

12

As you see we get 2 transfer functions because this is a so-called MISO system (Multiple Input, Single
Output).

Find the following transfer functions:
( )

( )
( )

( )

( )
( )

Solution:
In MathScript we can simple do as follows:
H = tf(ssmodel)
This gives the following):
Transfer Function
Input:1 Output:1
7,000s^2+33,000s+17,000
-----------------------

13
1,000s^2+3,000s+1,000
Input:2 Output:1
24,000s+20,000
--------------------1,000s^2+3,000s+1,000

As you see we get 2 transfer functions because this is a so-called MISO system (Multiple Input, Single
Output):
( )
( )

( )
( )
( )
( )