How to read out value from simout object

I'm running the simulation from the Matlab script via sim() and I need to read output variables and since model is hierachivsl - how can I access the resulting values?
The values I want ot get are at subsystem:
global_model/control_loop with variable at "Out" port 6, named "my_estim"
and within Variant subsystem
global_model/plant/Variant Subsystem1/Lumped (abc_param) at port 8, named "my_ctrl"
running the model from cmd line: simout = sim("global_model.slx");
how to read these variables out of simout aka plot(simout.yout.get('my_estim').Values);
how to read these variables?

 Akzeptierte Antwort

Fangjun Jiang
Fangjun Jiang am 20 Feb. 2025

0 Stimmen

You need to click that signal line, right click, select properties, and then give it a name and log the signal. Once done that, the signal logging will be saved in the simout file.

5 Kommentare

Peter
Peter am 24 Feb. 2025
Bearbeitet: Peter am 24 Feb. 2025
>> out1 = sim("global_model.slx");
>> plot(out1.yout.get('estim').Values)
Dot indexing is not supported for variables of this type.
>>
>> res = get(out1,'estim')
Error using matlab.graphics.Graphics/get
Unrecognized property estim for class matlab.ui.Root.
>>
can't get access it :(
Sam Chak
Sam Chak am 24 Feb. 2025

Can you screenshot the Simulink block diagram and highlight the signal you wish to access. It makes it earlier for us to guide you.

Peter
Peter am 24 Feb. 2025
Peter
Peter am 24 Feb. 2025
Bearbeitet: Peter am 24 Feb. 2025
I want to run multiple simulations with different configurations and then compare results on "Theta_elec_estim" vs. "Theta_elec_plant" vs. ""Theta_elec_ctrl"
aka
Fangjun Jiang
Fangjun Jiang am 24 Feb. 2025
'estim' is not logged. Right click the signal line, checkmark to log the signal.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Produkte

Version

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by