How can i update my simulink variable from m file in each iteration

6 Ansichten (letzte 30 Tage)
Kousalya V
Kousalya V am 19 Sep. 2020
Kommentiert: Walter Roberson am 20 Sep. 2020
i define my state space model in matlab simulink. The matrix for the state space model is defined in m.file. The values of matrix elements can vary in each iteration. How can i update matrix elements defined in m file and used in simulink. I don't want to use these matrix elements as function output.

Antworten (1)

stozaki
stozaki am 19 Sep. 2020
Bearbeitet: stozaki am 20 Sep. 2020
Hello Kousalya,
If you use the Discrete State-Space block, set it as follows:
% Definition of matrix elements
X = [1 2;3 4]
% Discrete State-Set the defined value to the Space parameter
% "gcbh" is the handle of the block selected with the mouse.
% Highlight the Discrete State-Space block with the mouse before running.
% Alternatively, enter the block path name.
set_param(gcbh,'A',num2str(X(1,1)))
set_param(gcbh,'B',num2str(X(1,2)))
set_param(gcbh,'C',num2str(X(2,1)))
set_param(gcbh,'D',num2str(X(2,2)))
or
X = [1 2;3 4]
set_param(gcbh,...
'A',num2str(X(1,1)),...
'B',num2str(X(1,2)),...
'C',num2str(X(2,1)),...
'D',num2str(X(2,2)))
Regards,
stozaki
  1 Kommentar
Walter Roberson
Walter Roberson am 20 Sep. 2020
You would have had to use sim() with parameters that cause it to perform only one iteration. But what is an "iteration" for your purposes? One time step? I would think it would be very inefficient to run only one timestep per sim() call.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Modeling finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by