How can i insert time varying parameters in simulink block?

Illustration
Marzatico - 2021-09-03T12:32:41+00:00
Question: How can i insert time varying parameters in simulink block?

Hi everyone, I have a  simulink model simultaing a periodic continuous system in the form: dx(t)=A(t)x(t)+B(t)u(t) with A(t+T)=A(t) and B(t+T)=B(t) In every instant i compute the matrices A(t) and B(t). I am introducing a Kalman filter, but i can't figure out how to insert variable matrices in the simulink block. What is the best way to do it? Thanks in advance for the help.  

Expert Answer

Profile picture of John Williams John Williams answered . 2025-11-20

For this use case, I would suggest creating a variable of type Simulink.Parameter in the base workspace.
 
 
x = Simulink.Parameter
x.Value = [1 1 1 ; 2 2 2];
The above will create a variable x of Simulink.Parameter where the Value field is where you want to put your matrix.
 
I am attaching a model where I have written a MATLAB function which updates the x.Value in each time step. You may follow this approach or you may find some other way to manipulate the x.Value in your Simulink model.
  • Create the variable x as show above. Then simulate the model and see the x.Value at the end of the simulation.


Not satisfied with the answer ?? ASK NOW

Get a Free Consultation or a Sample Assignment Review!