0% found this document useful (0 votes)
106 views

State Space Models

State space models represent physical systems using sets of first-order differential equations for the state variables and input-output relations. The state variables and equations, along with input equations and output equations, define a state space model. In MATLAB, a state space model is defined using matrices A, B, C, and D, which are entered into the ss function. The step response of the model can then be analyzed.

Uploaded by

wat2013rahul
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
106 views

State Space Models

State space models represent physical systems using sets of first-order differential equations for the state variables and input-output relations. The state variables and equations, along with input equations and output equations, define a state space model. In MATLAB, a state space model is defined using matrices A, B, C, and D, which are entered into the ss function. The step response of the model can then be analyzed.

Uploaded by

wat2013rahul
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 19

STATE SPACE MODELS

MATLAB Tutorial

Why State Space Models

The state space model represents a physical system as n first order differential equations. This form is better suited for computer simulation than an nth order inputoutput differential equation.

Basics

Vector matrix format generally is given by:

where y is the output equation, and x is the state vector

PARTS OF A STATE SPACE REPRESENTATION

State Variables: a subset of system variables which if known at an initial time t0 along with subsequent inputs are determined for all time t>t0+ State Equations: n linearly independent first order differential equations relating the first derivatives of the state variables to functions of the state variables and the inputs. Output equations: algebraic equations relating the state variables to the system outputs.

EXAMPLE

The equation gathered from the free body diagram is: mx" + bx' + kx - f(t) = 0 Substituting the definitions of the states into the equation results in: mv' + bv + kx - f(t) = 0 Solving for v' gives the state equation: v' = (-b/m) v + (-k/m) x + f(t)/m The desired output is for the position, x, so: y=x

Cont

Now the derivatives of the state variables are in terms of the state variables, the inputs, and constants. x' = v v' = (-k/m) x + (-b/m) v + f(t)/m y=x

PUTTING INTO VECTOR-MATRIX FORM

Our state vector consists of two variables, x and v so our vector-matrix will be in the form:

Explanation

The first row of A and the first row of B are the coefficients of the first state equation for x'. Likewise the second row of A and the second row of B are the coefficients of the second state equation for v'. C and D are the coefficients of the output equation for y.

EXACT REPRESENTATION

HOW TO INPUT THE STATE SPACE MODEL INTO MATLAB

In order to enter a state space model into MATLAB, enter the coefficient matrices A, B, C, and D into MATLAB. The syntax for defining a state space model in MATLAB is: statespace = ss(A, B, C, D) where A, B, C, and D are from the standard vectormatrix form of a state space model.

Example

For the sake of example, lets take m = 2, b = 5, and k = 3. >> m = 2; >> b = 5; >> k = 3; >> A = [ 0 1 ; -k/m -b/m ]; >> B = [ 0 ; 1/m ]; >> C = [ 1 0 ]; >> D = 0; >> statespace_ss = ss(A, B, C, D)

Output

This assigns the state space model under the name statespace_ss and output the following: a= x1 x2 x1 0 1 x2 -1.5 -2.5

Cont

b= u1 x1 0 x2 0.5 c= x1 x2 y1 1 0

Cont

d= u1 y1 0 Continuous-time model.

EXTRACTING A, B, C, D MATRICES FROM A STATE SPACE MODEL

In order to extract the A, B, C, and D matrices from a previously defined state space model, use MATLAB's ssdata command. [A, B, C, D] = ssdata(statespace) where statespace is the name of the state space system.

Example

>> [A, B, C, D] = ssdata(statespace_ss) The MATLAB output will be: A= -2.5000 -0.3750 4.0000 0

Cont
B= 0.2500 0 C= 0 D= 0 0.5000

STEP RESPONSE USING THE STATE SPACE MODEL

Once the state space model is entered into MATLAB it is easy to calculate the response to a step input. To calculate the response to a unit step input, use: step(statespace) where statespace is the name of the state space system. For steps with magnitude other than one, calculate the step response using: step(u * statespace) where u is the magnitude of the step and statespace is the name of the state space system.

You might also like