Bird
Raised Fist0
Simulinkdata~10 mins

State-space block in Simulink - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to define the state-space matrices A, B, C, D.

Simulink
A = [1];
B = [0; 1];
C = [1 0];
D = 0;
Drag options to blanks, or click blank then click option'
A[0 1; -2 -3]
B[1 0; 0 1]
D[0 1; -1 -1]
Attempts:
3 left
💡 Hint
Common Mistakes
Confusing matrix A with B or C matrices.
Using incorrect matrix dimensions.
2fill in blank
medium

Complete the code to create the state-space system using the ss() function.

Simulink
sys = ss([1], B, C, D);
Drag options to blanks, or click blank then click option'
AA
BB
CC
DD
Attempts:
3 left
💡 Hint
Common Mistakes
Passing B or C as the first argument instead of A.
Swapping the order of matrices.
3fill in blank
hard

Fix the error in the code to simulate the system response to input u.

Simulink
[y, t, x] = lsim(sys, [1], t);
Drag options to blanks, or click blank then click option'
Ay
Bu
Cx
Dsys
Attempts:
3 left
💡 Hint
Common Mistakes
Passing the system object instead of input signal.
Using output y or state x as input.
4fill in blank
hard

Fill both blanks to create a state-space system and simulate its step response.

Simulink
sys = ss([1], [2], C, D);
step(sys);
Drag options to blanks, or click blank then click option'
AA
BB
CC
DD
Attempts:
3 left
💡 Hint
Common Mistakes
Swapping B and C matrices.
Omitting matrix B.
5fill in blank
hard

Fill all three blanks to create a state-space system, simulate its impulse response, and plot the output.

Simulink
sys = ss([1], [2], [3], D);
impulse(sys);
title('Impulse Response');
Drag options to blanks, or click blank then click option'
AA
BB
CC
DD
Attempts:
3 left
💡 Hint
Common Mistakes
Passing matrices in wrong order.
Forgetting to add title to the plot.

Practice

(1/5)
1. What does the State-space block in Simulink primarily represent?
easy
A. a mathematical model using matrices to describe system dynamics
B. A graphical user interface for designing circuits
C. A tool to generate random numbers
D. A block to display system output only

Solution

  1. Step 1: Understand the purpose of the State-space block

    The State-space block models systems using matrices that describe how states change over time.
  2. Step 2: Compare options with the block's function

    Only a mathematical model using matrices to describe system dynamics correctly describes the use of matrices to represent system dynamics.
  3. Final Answer:

    a mathematical model using matrices to describe system dynamics -> Option A
  4. Quick Check:

    State-space = matrix model [OK]
Hint: State-space means matrix model of system changes [OK]
Common Mistakes:
  • Confusing State-space with graphical tools
  • Thinking it only displays output
  • Assuming it generates random data
2. Which of the following is the correct way to specify the State-space block matrices in Simulink?
easy
A. A = [[0,1],[0,0]]; B = [[0],[1]]; C = [[1,0]]; D = [[0]]
B. A = [0 1; 0 0]; B = [0; 1]; C = [1 0]; D = [0]
C. A = {0,1;0,0}; B = {0;1}; C = {1,0}; D = {0}
D. A = (0,1),(0,0); B = (0),(1); C = (1,0); D = (0)

Solution

  1. Step 1: Recall MATLAB/Simulink matrix syntax

    Matrices in MATLAB/Simulink use square brackets with semicolons separating rows and spaces or commas separating columns.
  2. Step 2: Identify the correct syntax

    A = [0 1; 0 0]; B = [0; 1]; C = [1 0]; D = [0] uses correct MATLAB matrix syntax: [0 1; 0 0] etc., while others use invalid or incorrect formats.
  3. Final Answer:

    A = [0 1; 0 0]; B = [0; 1]; C = [1 0]; D = [0] -> Option B
  4. Quick Check:

    Correct matrix syntax = A = [0 1; 0 0]; B = [0; 1]; C = [1 0]; D = [0] [OK]
Hint: Use [rows; rows] with spaces or commas for columns [OK]
Common Mistakes:
  • Using curly braces {} instead of brackets []
  • Using parentheses () for matrices
  • Separating rows with commas instead of semicolons
3. Given the State-space matrices:
A = [0 1; -2 -3],
B = [0; 1],
C = [1 0],
D = [0]
and input u(t) = 1, what is the initial output y(0) if the initial state x(0) = [0; 0]?
medium
A. 1
B. -3
C. 0
D. Undefined

Solution

  1. Step 1: Calculate output y(0) using y = C*x(0) + D*u(0)

    Given x(0) = [0;0], u(0) = 1, y(0) = C*[0;0] + D*1 = 0 + 0 = 0.
  2. Step 2: Confirm calculation

    Multiplying C by zero vector gives zero, D times input is zero, so output is zero.
  3. Final Answer:

    0 -> Option C
  4. Quick Check:

    y(0) = Cx0 + Du0 = 0 [OK]
Hint: Output at zero state = D times input only [OK]
Common Mistakes:
  • Ignoring initial state and using input only
  • Confusing matrix multiplication order
  • Assuming output equals input directly
4. You entered the following matrices in a State-space block:
A = [0 1; -1 -1],
B = [0; 1],
C = [1; 0],
D = [0].
When simulating, you get an error about matrix dimensions. What is the likely cause?
medium
A. Matrix A must be square but is not
B. Matrix B has wrong number of rows compared to A
C. Matrix D must be a scalar zero, not a matrix
D. Matrix C has wrong number of columns compared to A

Solution

  1. Step 1: Check matrix dimensions for State-space consistency

    Matrix A is 2x2, so B must be 2x1, C must be 1x2, D must be 1x1. Here B=[0;1] (2x1) ok, but C=[1; 0] is 2x1.
  2. Step 2: Identify mismatch

    Matrix C has wrong number of columns (1 vs 2 for A).
  3. Final Answer:

    Matrix C has wrong number of columns compared to A -> Option D
  4. Quick Check:

    C columns must match A columns [OK]
Hint: C columns = A columns; B rows = A rows [OK]
Common Mistakes:
  • Mixing rows and columns in matrices
  • Entering C as a column vector instead of row
  • Assuming D can be any size
5. You want to model a mechanical system with two states using a State-space block. The system has matrices:
A = [0 1; -1 -1],
B = [0; 1],
C = [1 0],
D = [0].
If the input force is a step input of magnitude 3, what will be the steady-state output y(t) as t approaches infinity?
hard
A. 3
B. 0
C. 1
D. Cannot determine without simulation

Solution

  1. Step 1: Find steady-state state x_ss using (A)x_ss + (B)u_ss = 0

    At steady state, dx/dt=0, so 0 = A*x_ss + B*u_ss. With u_ss=3, solve for x_ss: x_ss = -inv(A)*B*3.
  2. Step 2: Calculate output y_ss = C*x_ss + D*u_ss

    Calculate x_ss, then y_ss. For given matrices, y_ss = C*(-inv(A)*B*3) + 0 = 3 (after calculation).
  3. Final Answer:

    3 -> Option A
  4. Quick Check:

    Steady output = input magnitude for stable system [OK]
Hint: Steady output = input if system is stable [OK]
Common Mistakes:
  • Ignoring steady-state calculation
  • Assuming output equals zero without input
  • Not inverting matrix A correctly
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard