# Using the Integrator block from ModelingToolkitStandardLibrary with vector input

**URL:** <https://discourse.julialang.org/t/using-the-integrator-block-from-modelingtoolkitstandardlibrary-with-vector-input/116593>\
**Category:** New to Julia\
**Tags:** question\
**Created:** [July 3, 2024, 2:48pm UTC](https://discourse.julialang.org/t/using-the-integrator-block-from-modelingtoolkitstandardlibrary-with-vector-input/116593 "2024-07-03T14:48:51Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![a\_tudor\_b](https://avatars.discourse-cdn.com/v4/letter/a/f4b2a3/32.png) [@a\_tudor\_b](https://discourse.julialang.org/u/a_tudor_b)\
**Post date:** [July 3, 2024, 2:48pm UTC](https://discourse.julialang.org/t/using-the-integrator-block-from-modelingtoolkitstandardlibrary-with-vector-input/116593/1 "2024-07-03T14:48:51Z")

</div>

Hi,  
I’m trying to build a multi-input multi-output control system using ModelingToolkit and the ModelingToolkitStandardLibrary. I’ve come to the Integrator block and I can’t figure out how to configure it for a vector input.  
For a minimum example (size 2, although later on I’ll be using larger size), you can see the code below:

```julia
using ModelingToolkit, DifferentialEquations, Plots
using ModelingToolkit: t_nounits as t, D_nounits as D
using ModelingToolkitStandardLibrary.Blocks: MatrixGain, Add, StateSpace, Integrator
using LinearAlgebra

@named int = Integrator(k=1.0I(2),x = [0.0, 0.0])
@named p = StateSpace(A = -1.0I(2), B=1.0I(2), C=1.0I(2), D = zeros(2,2))
@named Kfb = MatrixGain(K=zeros(2,4))
@named add1 = Add()

connections = [
    [Kfb.input.u[i] ~ p.x[i] for i in 1:2]
    [Kfb.input.u[i+2] ~ int.y[i] for i in 1:2]
    [p.u[i] ~ Kfb.output.u[i] for i in 1:2]
    [int.u[i] ~ 1-p.y[i] for i in 1:2]
]

```

But i get an error: ERROR: TypeError: in keyword argument x, expected Union{Nothing, Real}, got a value of type Vector{Float64}  
Can somebody help me out?  
Thank you!

---

<div class="post-metadata">

**Author:** ![baggepinnen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/baggepinnen/32/693_2.png) [@baggepinnen](https://discourse.julialang.org/u/baggepinnen)\
**Post date:** [July 3, 2024, 4:04pm UTC](https://discourse.julialang.org/t/using-the-integrator-block-from-modelingtoolkitstandardlibrary-with-vector-input/116593/2 "2024-07-03T16:04:57Z")

</div>

The integrator block does not accept vectors, your options are

- Use multiple integrator blocks
- Use an integrating statespace system where the A matrix is all zeros and the B and C matrices are identity. This effectively creates a MIMO integrator.

---

<div class="post-metadata">

**Author:** ![a\_tudor\_b](https://avatars.discourse-cdn.com/v4/letter/a/f4b2a3/32.png) [@a\_tudor\_b](https://discourse.julialang.org/u/a_tudor_b)\
**Post date:** [July 3, 2024, 4:22pm UTC](https://discourse.julialang.org/t/using-the-integrator-block-from-modelingtoolkitstandardlibrary-with-vector-input/116593/3 "2024-07-03T16:22:57Z")

</div>

Thank you, @baggepinnen !
