Use an 'auto' variable from the script in the matlab to simulink solver

조회 수: 9 (최근 30일)
Julien
Julien 2024년 3월 6일
댓글: Julien 2024년 3월 18일
Hello,
I would like to modify my simulink solver parameters from an input file loaded by a matlab script.
I would like to modify my simulink solver parameters from an input file loaded by a matlab script. When I add floating numbers, the solver launches without any problem. But if I want to specify in this file the 'auto' function available on Simulink, Simulink does not recognize the variable. Is there a way to give him this information from a workspace variable?
For example this script.m fill in the Simulink solver don't work :
solver.max_step_size = 5e-1;
solver.min_step_size = 5e-3;
solver.initial_step_size = 'auto';
solver.relative_tolerance = 1e-3;
solver.absolute_tolerance = 'auto';
Thnkn for your help,

채택된 답변

Fangjun Jiang
Fangjun Jiang 2024년 3월 13일
Yes. This is a problem. A Mathworker might be able to explain why it is done this way. I can provide a workaround solution.
In your script.m, add a line after every parameter that is a string/char array (not a numerical number). For example
solver.initial_step_size = 'auto';
set_param('ModelName','InitialStep', solver.initial_step_size);
Click Help in Configuration Parameters dialog or see this page for the name of the parameters
  댓글 수: 2
Julien
Julien 2024년 3월 18일
I tried this solution:
set_param('ModelSimulinkName','MaxStep', 'auto');
It doesn't run.
when I add this first line:
activeConfigObj = getActiveConfigSet('ModelSimulinkName');
set_param(activeConfigObj,'MaxStep', 'auto');
It works.
Thanks for your help, I found a solution to do what I want!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Modeling에 대해 자세히 알아보기

제품


릴리스

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by