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

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,

 채택된 답변

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

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개)

카테고리

도움말 센터File Exchange에서 Configure Simulation Conditions에 대해 자세히 알아보기

제품

릴리스

R2022b

질문:

2024년 3월 6일

댓글:

2024년 3월 18일

Community Treasure Hunt

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

Start Hunting!

Translated by