divergence results using ode45 in .m-file and using ode45 simulink
2 次查看(过去 30 天)
显示 更早的评论
Hi everyone,
I'm simulating an ODE in simulink, using a s-function, to obtain the time response and do the system analysis. When I write this ODE in a .m-file and use the ode45 solver to obtain the time response of the system, i have a similar results for some variations in the input variable, but when the value of the input variable decreases, the results of the .m-file is different.
Anyone know why is this occuring?
best regards,
Gustavo
0 个评论
回答(2 个)
Richard Brown
2012-4-29
Try forcing ode45 to use time steps no bigger than the simulink ones, i.e.
opts = odeset('MaxStep', 0.1); %substitute 0.1 for the simulink step size
ode45(..., opts);
0 个评论
Jan
2012-4-28
Either there is a bug in the program.
Or the solution is instable. E.g. solutions of chaotic deterministic systems are instable and tiny differences in the intermediate solutions can lead to large differences in the final position. You can check this by an analysis of the sensitivity to variations of the initial values.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Ordinary Differential Equations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!