Setting initial condition of simulink integrator through code

Hi,
I am trying to cchange the initial condition of an integrator in Simulink by using Matlab code. I am using the following lines:
init_cond_integrator=[pi/3;0];
set_param('ClosedLoop_PID_MRFT_with_actuator/Manipulator Dynamics/Integrator1','InitialCondition',num2str(init_cond_integrator));
It gives the following error:
'ClosedLoop_PID_MRFT_with_actuator/Manipulator Dynamics/Integrator1' has unapplied changes. Please apply or cancel these changes before running the simulation.
Any help will be highly appreciated.
Thanks!

답변 (1개)

Fangjun Jiang
Fangjun Jiang 2020년 7월 21일

0 개 추천

The error message says you have the dialog window open and changes have not been applied. Click apply or Ok and then proceed.

댓글 수: 4

Thanks much, but still the problem was still there with another error of invalid setting.. Though I have solved it using external initial condition option in the integrator. I have connected constant blocks with the external port and I set those constants using set_param in the code.
Fangjun Jiang
Fangjun Jiang 2020년 7월 22일
편집: Fangjun Jiang 2020년 7월 22일
Most likely, the value needs to be [1.0472; 0], not as shown 1.0472 0
Yes, right, but that seems undoable using the set_param command.
set_param(Block,'InitialCondition',mat2str([1,2]))

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

카테고리

도움말 센터File Exchange에서 Programmatic Model Editing에 대해 자세히 알아보기

제품

릴리스

R2019b

질문:

2020년 7월 21일

댓글:

2020년 7월 24일

Community Treasure Hunt

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

Start Hunting!

Translated by