How to simulate simulink model in a given set of time-points only?
조회 수: 7 (최근 30일)
이전 댓글 표시
I have a set of time-points in an array and I want the simulink model to run only in the given time-stamps.
The timestep is non-uniform.
댓글 수: 0
답변 (1개)
Birdman
2020년 3월 23일
Yes, it is possible. Consider the attached Simulink model which contains a ramp block and its slope parameter is set as 5. Its stop time is 10. We expect to see the output of the ramp at t=0,1,6,9. Run the following code from command line:
t=[0 1 6 9];
y=sim('Rampout',t);
y.RampOut.Signals.Values
The last line will give you 0,5, 30 and 45 which shows that the model is ran at specified time values. You can adapt this to your application.
댓글 수: 4
Birdman
2020년 3월 23일
편집: Birdman
2020년 3월 23일
Ok then. Try the following code with the attached modified Simulink model:
y=sim('Rampout','StartTime','0','StopTime','0')
y.Rampout.signals.values
y=sim('Rampout','StartTime','1','StopTime','1')
y.Rampout.signals.values
y=sim('Rampout','StartTime','6','StopTime','6')
y.Rampout.signals.values
y=sim('Rampout','StartTime','9','StopTime','9')
y.Rampout.signals.values
If you run each pair of line respectively, you will see the previous results that we obtained.
참고 항목
카테고리
Help Center 및 File Exchange에서 Programmatic Model Editing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!