''' Calculating eigenvalues of state space model with Python Control Package Finn Aakre Haugen (finn.haugen@usn.no) Updated 2023 01 10 ''' #%% Imports import numpy as np import control #%% Model parameters m = 20 # [kg] d = 4 # [N/(m/s)] k = 2 # [N/m] #%% System matrices as 2D arrays A = np.array([[0, 1], [-k/m, -d/m]]) B = np.array([[0], [1/m]]) C = np.array([[1, 0]]) D = np.array([[0]]) #%% Creating and displaying the state space model S = control.ss(A, B, C, D) print('State space model:\n\n', S) #%% Eigenvalues of S eigval_eigvec_S = np.linalg.eig(A) eigval_S = eigval_eigvec_S[0] print (f'Eigenvalues of S: {np.around(eigval_S, decimals=3)}')