! APMonitor Modeling Language ! http://www.apmonitor.com ! FIR model or Continuous Linear SS for control ! ! ****************************************************** ! FIR Model (Linear Discrete Form) with 1 sec sampling ! x[k+1] = A * x[k] + B * u[k] ! y[k] = C * x[k] + D * u[k] ! ****************************************************** ! Matrix A ! -4.0000000e-001 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 ! 0.0000000e+000 -8.0000000e-001 0.0000000e+000 0.0000000e+000 0.0000000e+000 ! 0.0000000e+000 0.0000000e+000 -1.0000000e-001 0.0000000e+000 0.0000000e+000 ! 0.0000000e+000 0.0000000e+000 0.0000000e+000 -2.0000000e-001 0.0000000e+000 ! 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 -2.0000000e-001 ! Matrix B ! 1.0000000e+000 0.0000000e+000 ! 0.0000000e+000 -2.0000000e+000 ! 5.0000000e-001 0.0000000e+000 ! 0.0000000e+000 5.0000000e-001 ! 2.0000000e-001 2.0000000e-001 ! Matrix C ! 1.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 ! 0.0000000e+000 1.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 ! 0.0000000e+000 0.0000000e+000 1.0000000e+000 0.0000000e+000 0.0000000e+000 ! 0.0000000e+000 0.0000000e+000 0.0000000e+000 1.0000000e+000 0.0000000e+000 ! 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 1.0000000e+000 ! Matrix D ! 0.0000000e+000 0.0000000e+000 ! 0.0000000e+000 0.0000000e+000 ! 0.0000000e+000 0.0000000e+000 ! 0.0000000e+000 0.0000000e+000 ! 0.0000000e+000 0.0000000e+000 ! ****************************************************** ! Linear State Space ! dx/dt = A * x + B * u ! y = C * x + D * u ! ****************************************************** ! Matrix A ! -9.1629073e-001 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 -3.1415925e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 ! 0.0000000e+000 -2.2314355e-001 0.0000000e+000 0.0000000e+000 0.0000000e+000 -3.1415925e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 ! 0.0000000e+000 0.0000000e+000 -2.3025851e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 -6.2831850e+000 ! 0.0000000e+000 0.0000000e+000 0.0000000e+000 -1.6094379e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 -3.1415925e+000 0.0000000e+000 0.0000000e+000 ! 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 -1.6094379e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 -1.5707963e+000 0.0000000e+000 ! 0.0000000e+000 3.1415925e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 -2.2314355e-001 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 ! 3.1415925e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 -9.1629073e-001 0.0000000e+000 0.0000000e+000 0.0000000e+000 ! 0.0000000e+000 0.0000000e+000 0.0000000e+000 3.1415925e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 -1.6094379e+000 0.0000000e+000 0.0000000e+000 ! 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 6.2831850e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 -1.6094379e+000 0.0000000e+000 ! 0.0000000e+000 0.0000000e+000 1.5707963e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 -2.3025851e+000 ! Matrix B ! 6.5449348e-001 0.0000000e+000 ! 0.0000000e+000 -2.4793751e-001 ! 1.0466296e+000 0.0000000e+000 ! 0.0000000e+000 6.7059916e-001 ! 2.6823966e-001 2.6823966e-001 ! 0.0000000e+000 3.4906583e+000 ! -2.2439946e+000 0.0000000e+000 ! 0.0000000e+000 -1.3089969e+000 ! -1.0471975e+000 -1.0471975e+000 ! -7.1399829e-001 0.0000000e+000 ! Matrix C ! 1.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 ! 0.0000000e+000 1.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 ! 0.0000000e+000 0.0000000e+000 1.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 ! 0.0000000e+000 0.0000000e+000 0.0000000e+000 1.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 ! 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 1.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000 ! Matrix D ! 0.0000000e+000 0.0000000e+000 ! 0.0000000e+000 0.0000000e+000 ! 0.0000000e+000 0.0000000e+000 ! 0.0000000e+000 0.0000000e+000 ! 0.0000000e+000 0.0000000e+000 Model linear Parameters u[1:2] = 0 End Parameters Variables x[1:10] = 0 y[1:5] = 0 End Variables Equations $x[1] = -0.91629073 * x[1] - 3.1415925 * x[7] + 0.65449348 * u[1] $x[2] = -0.22314355 * x[2] - 3.1415925 * x[6] - 0.24793751 * u[2] $x[3] = -2.3025851 * x[3] - 6.283185 * x[10] + 1.0466296 * u[1] $x[4] = -1.6094379 * x[4] - 3.1415925 * x[8] + 0.67059916 * u[2] $x[5] = -1.6094379 * x[5] - 1.5707963 * x[9] + 0.26823966 * u[1] + 0.26823966 * u[2] $x[6] = 3.1415925 * x[2] - 0.22314355 * x[6] + 3.4906583 * u[2] $x[7] = 3.1415925 * x[1] - 0.91629073 * x[7] - 2.2439946 * u[1] $x[8] = 3.1415925 * x[4] - 1.6094379 * x[8] - 1.3089969 * u[2] $x[9] = 6.283185 * x[5] - 1.6094379 * x[9] - 1.0471975 * u[1] - 1.0471975 * u[2] $x[10] = 1.5707963 * x[3] - 2.3025851 * x[10] - 0.71399829 * u[1] y[1:5] = x[1:5] End Equations End Model