set simulink time step
329 次查看(过去 30 天)
显示 更早的评论
I want to simulate a dynamics system 'mdl' using sim('mdl',parameters), and I want to get the simulation output at some specific time points, instead of time points determined by the ode solver. Is there any way that I can specify the time step of the simulink ode solver?
Like when using ode45, I can use ode45(odefun,tspan,y0) with tspan=0:0.1:1, can I still get simulation output at time points 0:0.1:1 with simulink?
0 个评论
采纳的回答
Kaustubha Govind
2011-7-11
编辑:John Kelly
2014-5-27
For variable-step solvers, you can do this by setting the Output options parameter on the Import/Export Pane of the Configuration Parameters window to either 'Produce additional output' or 'Produce specified output only' and entering the time array in Output times.
更多回答(2 个)
Fangjun Jiang
2011-7-11
Yes, certainly you can! Why don't you try it and see the results.
Use the MATLAB supplied "f14" model as an example, you can specify a time vector with variable time step and then run simulation. open the model and make it to output the simulation time "tout" and "yout" at Simulation>Configuration Parameters...>Data Import/Export
t=[0:0.01:5,5.1:0.1:10]';
sim('f14',t);
all(t==tout)
ans =
1
>> size(tout)
ans =
551 1
>> size(yout)
ans =
551 2
3 个评论
Kaustubha Govind
2011-7-11
I don't think that is possible with fixed-step solvers. However, if what you want is to only get output signal values at specified time-steps, you can choose the least common divisor of your desired steps as the solver fixed-step and then extract the desired points from the logged outputs.
Fangjun Jiang
2011-7-11
See my edited answer above. I added an example with time vector with variable time step.
Fangjun Jiang
2011-7-11
I guess a short answer to your question is YES. Since you already know how to use ode45(odefun,tspan,y0) with tspan=0:0.1:1, you can do the same with sim, sim('YouModelName',tspan) with tspan=0:0.1:1.
另请参阅
类别
在 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!