How can i insert time varying parameters in simulink block?

8 vues (au cours des 30 derniers jours)
Davide Marzatico
Davide Marzatico le 27 Fév 2018
Commenté : faycel jamaaoui le 23 Août 2021
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.

Réponse acceptée

Sujit Muduli
Sujit Muduli le 6 Mar 2018
Hi Davide,
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.
Thanks,
Sujit
  2 commentaires
Davide Marzatico
Davide Marzatico le 7 Mar 2018
Thank you for the help Sujit!
faycel jamaaoui
faycel jamaaoui le 23 Août 2021
Hello sir;
Please i need your help. I use the MATLAB Version 2015. Can you please send me the modeldemoMatrixInp.mdl version 2015.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Simulink Environment Customization dans Help Center et File Exchange

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by